2014-01-21 2 views
0

У меня есть следующая проблема: я создал форму с использованием HTML с некоторыми полями ввода. Я также сделал кнопку отправки отключенным, используя следующий код JS:Моей кнопке необходимо обновить после поля ввода

if(document.forms['form'].inputfield1.value == "") 
    { 
    document.forms[0].submit.disabled=true; 
    } 
    else { 
    document.forms[0].submit.disabled=false; 
    } 

Это прекрасно работает, когда я загрузить страницу кнопка отключена, но когда я заполнить что-то он не получает включен.

Но всякий раз, когда я поместить значение в моем поле ввода следующим образом:

<input type="text" name="inputfield1" size="3" maxlength="3" value="12345"> 

И я загрузить страницу кнопка включена, доказав код JS работает просто отлично.

Я не знаю, есть ли способ обновить кнопку после того, как кто-то использовал поле ввода или что-то в этом роде.

Я совершенно новый для JS и PHP, любая помощь очень ценится!

+1

Эта проверка выполняется только при загрузке, и вы, похоже, хотите сделать это динамически. Это может быть достигнуто с помощью javascript-события. –

ответ

0

Вам необходимо использовать событие javascript для определения того, когда значение изменяется и выполняется проверка. Я бы предложил onkeyup для этого, поскольку вы, скорее всего, захотите, чтобы пользователь печатал.

Это можно сделать с помощью JavaScript следующим образом ...

Создать onload событие для запуска при загрузке страницы, это будет регистрировать обработчики событий для ввода и вызвать первоначальную проверку, чтобы установить состояние по умолчанию:

window.onload = function(){ 
    document.getElementsByName("inputfield1")[0].onkeyup = validateForm; 
    validateForm(); 
}; 

Тогда ваша функция сделать проверку:

function validateForm(){ 
    if(document.forms['form'].inputfield1.value == "") 
    { 
     document.forms[0].submit.disabled=true; 
    } 
    else { 
     document.forms[0].submit.disabled=false; 
    } 
} 
+0

Я сделал именно то, что вы мне сказали, но теперь моя кнопка включена по умолчанию всякий раз, когда я загружаю страницу. –

+0

Просто вызовите 'validateForm()' в вашей основной области javascript, где у вас был исходный код – musefan

+0

Где именно я его помещаю тогда? Просто я мой

0

Вы можете использовать OnKeyUp функцию, чтобы сделать это просто

<input type="text" name="inputfield1" size="3" maxlength="3" value="12345" onkeyup='check()'> 

function check() { 
    if(document.forms['form'].inputfield1.value == ""){ 
    document.forms[0].submit.disabled=true; 
} 
else { 
    document.forms[0].submit.disabled=false; 
} 
} 
+0

моя кнопка включена, когда я загружаю страницу сейчас =/ –

+0

Вызвать метод check() в функции готовности документа тоже. – Ramesh

Смежные вопросы