[英]How to properly redirect page after form validation in JavaScript?
Here is my javascript code.这是我的 javascript 代码。 I am getting contact us page even if validation fail.
即使验证失败,我也会收到联系我们页面。 how to fix this?
如何解决这个问题? Can anyone help me.Thanks
谁能帮帮我谢谢
(function () {
window.addEventListener('load', function () {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function (form) {
form.addEventListener('submit', function (event) {
if (form.checkValidity() === false) {
form.classList.add('was-validated');
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
window.location.href = "contact.html";
}, false);
});
}, false);
})();
From your code, you are checking the result of form validation which is fine.从您的代码中,您正在检查表单验证的结果,这很好。 Bu at the end, you are still redirecting the user.
但最后,您仍在重定向用户。 You need to add return;
您需要添加返回; in your code after validation is failed or add the redirection in else block
在验证失败后的代码中或在 else 块中添加重定向
(function () {
window.addEventListener('load', function () {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function (form) {
form.addEventListener('submit', function (event) {
if (form.checkValidity() === false) {
form.classList.add('was-validated');
event.preventDefault();
event.stopPropagation();
return;
}
form.classList.add('was-validated');
window.location.href = "contact.html";
}, false);
});
}, false);
})();
Or:或者:
(function () {
window.addEventListener('load', function () {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function (form) {
form.addEventListener('submit', function (event) {
if (form.checkValidity() === false) {
form.classList.add('was-validated');
event.preventDefault();
event.stopPropagation();
} else {
form.classList.add('was-validated');
window.location.href = "contact.html";
}
}, false);
});
}, false);
})();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.