2016-11-15 3 views
0

Здесь я форма в HTMLвходного значения в формах ввода, если кнопка нажата (в Javascript)

<form> 
 
    <input type="text" name ="tes[]" id="tes1"> 
 
    <input type ="submit" value="Periksa Hasil" name="test"> 
 
</form>

Кнопки в форме будет использовать для передачи данных в PHP. Вот почему я сделать еще одну кнопку, чтобы установить значение формы ввода, как это:

<button type="button" onclick="tes_ya(tes1);">Yes</button> 
 
<button type="button" onclick="tes_no(tes1);">No</button>

Таким образом, если пользователь нажимает Да, значение формы ввода является 1, а если пользователь нажимает Нет, значение будет равно 0.

Я уже сделать Javascript так:

function tes_ya(id){ 
 
\t \t \t document.getElementById(id).value= 1; 
 
\t \t } 
 
function tes_no(id){ 
 
\t \t \t document.getElementById(id).value= 0; 
 
\t \t }

Но я не знаю, когда я попробую, значение не может быть установлено. Кто-нибудь может мне помочь? Спасибо.

ответ

4

Ваши нажмите обработчики для кнопок есть вопрос:

tes_ya(tes1); 

tes1 не определен, поэтому, когда document.getElementById(id) вызывается с ним, он по существу вызова document.getElementById(undefined) (либо что либо исходный код выдаст ошибку и полностью терпит неудачу).

То, что вы на самом деле хотите, чтобы передать строку'tes1':

tes_ya('tes1'); 
+0

OMG, да! Я так глуп, что забыл цитату. Огромное спасибо. – Berlian

0

Лучше избегать OnClick.

Изменение:

<button type="button" onclick="tes_ya(tes1);">Yes</button> 

к:

<button type="button" id="yes-btn">Yes</button> 

Создать функцию, которая будет копировать значения из текста кнопки:

function copyValue() { 
    document.getElementById("tes1").value = this.textContent === "Yes" ? '1' : '0'; 
} 

Тогда в вашем JavaScript Закрепление обработчик событий:

document.getElementById("yes-btn").addEventListener("click", copyValue);