У меня есть следующая проблема: я создал форму с использованием 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, любая помощь очень ценится!
Вам нужно использовать событие 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;
}
}
validateForm()
в вашей основной области JavaScript, где у вас был оригинальный код
Вы можете использовать функцию 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;
}
}
javascript event
.