2010-08-09 3 views
1

У меня есть 3 кнопки в моей форме.значение кнопки с помощью javascript

Все действия кнопки переходят на одну страницу после нажатия на нее в зависимости от того, какая кнопка нажата.

Мой запрос: Имя из кнопок «Добавить», «Изменить» и «Удалить»

Когда «добавить» кнопка нажата, с помощью JS, мне нужно, чтобы получить значение этой кнопки и аналогично для двух других кнопок ....

Помогите?

+0

Что вы подразумеваете под "действием кнопки"? У форм есть действия, кнопки - нет. Вы отправляете на серверный скрипт? Можете ли вы показать код? – RoToRa

+0

Связано ли это с ajax, или с вами будет хорошо, просто отправив форму на сервер и перенаправив сервер? – cHao

ответ

1

Вы пробовали: document.getElementById('button_id').value в функции js, которую вы вызываете при нажатии кнопки?

+1

Лично я проголосовал за решение, которое не требует 3 отдельных функций для выполнения этой довольно простой задачи. – cHao

6

насчет:

var buttonValue = document.getElementById('IdOfYourButton').value 
+0

Итак, три обработчика, все идентичные, за исключением этой строки? Там должен быть лучший способ. – cHao

+0

Он сказал, что ему нужно получить три кнопки. Покажите мне лучший способ с чистым javascript? Также он может сделать один метод обработчика с параметром buttonId. –

+0

@ LucaszW.pl: проверьте мой код. – cHao

7
<form> 
<script type="text/javascript"> 
    function doAction(value) 
    { 
    // Don't really have anything to set...just show the value 
    alert(value); 
    } 
</script> 
<input type="button" value="Add" onclick="doAction(this.value)"> 
<input type="button" value="Edit" onclick="doAction(this.value)"> 
<input type="button" value="Remove" onclick="doAction(this.value)"> 
</form> 

Есть и другие способы, которые включают даже не проходящие значение баттона, но они не совместимы, как в разных браузерах (IE использует несколько иную модель событий).

Конечно, если вы можете получить, не делая это в JavaScript, и может просто передать нажал кнопку на сервер, он становится еще проще, чем ...

<form> 
<input type="submit" name="action" value="Add"> 
<input type="submit" name="action" value="Edit"> 
<input type="submit" name="action" value="Remove"> 
</form> 

и кнопки в зависимости от того нажатия кнопки попадает в URL-адрес action=Add или что-то еще.

1

Существует свойство target, которое вы можете использовать. Он нацелен на элемент, который вызвал событие.

button.addEventListener('click',function(e){ 
    console.log(e.target.value); 
}); 
Смежные вопросы