[英]event.preventDefault() not working in validation
我有一個頁面,用戶可以在帖子下發表評論。 使用 ajax 加載帖子和評論。 我正在嘗試使用以下代碼驗證評論表單。
document.querySelector('body').addEventListener('submit', event => {
if (event.target.matches('.needs-validation')) {
if (event.target.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
event.target.classList.add('was-validated');
}
}, false);
使用 ajax 提交評論表。
$('body').on('submit', '.cmnt-frm', function(e) {
現在表單正在驗證並顯示錯誤消息,但表單正在使用 ajax 提交。 event.preventDefault()
不起作用。 下面的代碼有效,但僅適用於初始頁面加載。 在提交新帖子時,帖子列表會使用 ajax 進行更新,在這種情況下這不起作用
window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('needs-validation');
// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
代碼有什么問題。 請幫忙。
event.target.className.matches('需要驗證').....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.