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

onclick="var e = this; setTimeout(function () { e.disabled = true; e.value='Please wait...'}, 0); return true;"

но это заставляет кнопку оставаться отключенной, если есть ошибки проверки, которые я не хочу.

вот код кнопки отправки

 <input type="submit" onclick="var e = this; setTimeout(function () { e.disabled = true; e.value='Please wait...'}, 0); return true;" value="Confirm Selected" /> 

Как мне добиться этого с помощью jquery или JavaScript ?

Примечание: я рассмотрел вопросы переполнения стека, но ответы не обрабатываются, когда есть ошибки проверки.

0
The Scientific Method

2 ответа

Это действительно зависит от используемой вами валидации и от того, как все установлено.

Это может сработать, если вместо тайм-аута вы попробуете с setInterval ();

Вы можете иметь флаг, который установлен как «отключить» при нажатии кнопки, вы также можете инициировать интервал, который будет проверять наличие ошибок каждые N секунд. Если ошибок нет, она вызовет функцию, которая изменит кнопку отправки на начальное / новое состояние, изменит флаг «отключить» и очистит интервал.

Если вы используете проверки HTML , например, тег ввода с type email , вам следует использовать отправка формы вместо нажатие кнопки , потому что форма отправляется только тогда, когда в форме нет ошибок. Для отправки формы вы можете попробовать, как показано ниже:

$('form').on('submit', function(e){

});
58603373