представить Учитывая эту функцию:окно предупреждения показывает вверх N раз после нажатия N раз на кнопку
function validate() {
var elements = ["firstname", "lastname", "password", "favfood", "favsport"];
document.getElementById('register').noValidate = true;
document.getElementById('register').addEventListener('submit', function(event) {
for (var i = 0; i < elements.length; i++) {
if(document.getElementById(elements[i]).hasAttribute("required")) {
if(!document.getElementById(elements[i]).checkValidity()) {
event.preventDefault();
alert('Please, fill in every required field of the form.');
break;
}
}
}
}, false);
}
и эта форма:
<form name="register" id="register" method="POST" action="this-file.php">
[HTML ELEMENTS TO VALIDATE]
<input type="submit" value="Register" onclick="validate()">
</form>
Когда я нажимаю Register
в первый раз (без заполнения ничего), окно предупреждения появляется только один раз; если я снова нажму Register
, окно предупреждения появится дважды и так далее. Что происходит?
Я использую пользовательскую функцию JavaScript для проверки моей формы, потому что атрибут required
не работает в Safari.
Благодарим вас заблаговременно.
вы можете отключить кнопку после ее первого нажатия – Deep
Я не могу. Цель состоит в том, чтобы показать предупреждающее сообщение, если элементы 'required' не установлены. Если я отключу кнопку отправки после одного щелчка, пользователь больше не сможет ее щелкнуть, если он не перезагрузит страницу, правильно? – sgrontflix