下面的代码用于避免HTML表单中的重复输入字段$(document).ready(function() {
$(".classesName").submit(function(e) {
e.preventDefault();
var frm = document.querySelector('form.classesName');
frm.addEventListener('submit', function(e) {
e.preventDefault();
var classArr = [];
console.log("HI"); // To show that ajax is called again and again
var inputs = frm.querySelectorAll('input[type=text]');
inputs = Array.from(inputs); // So as to avoid UPPERCASE and lowercase i.e, HEL and hel
for (var i = 0; i < inputs.length; i++) {
inputs[i] = inputs[i].value.toUpperCase();
console.log(inputs[i]);
if (classArr.indexOf(inputs[i].value) != -1) {
alert("Duplicate Name Found");
return false;
} else
classArr.push(inputs[i].value);
}
frm.submit();
});
});
});
问题是,当我在HTML表单中输入HELLO和HELLO时,会出现一条警告消息,指出错误,当我单击ok,然后编辑say HELLO和new时。
#problem:ajax调用再次启动,因此现在警报消息在没有重复值时出现两次。
F12浏览器输出HI
2HELLO
HI
HELLO
NEW
HI
HELLO
NEW