Моя кнопка должна обновляться после поля ввода

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 event .
Теги:
javascript-events
forms

2 ответа

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, где у вас был оригинальный код
Показать ещё 3 комментария
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 () в функции готовности документа.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню