我想为使用Jquery的项目开发一个验证脚本,这个想法是使用提交的任何表单的验证脚本,因此表单ID会有所不同,也会形成元素和表单动作或方法。因此我写了下面的脚本,但是当第一个字段通过验证并且无论如何提交表单时,它都没有处理第2步。Jquery对表单子验证的验证
$(document).on('submit', 'form', function (e) {
var form_Submited = $(this).attr("name");
var form_Action = $(this).attr("action");
var form_Information = $(this).serialize();
var form_Elements = $(this)[0].elements;
var i = 0;
e.preventDefault();
function Validation(){
for (i; i < form_Elements.length; i++) {
if (form_Elements[i].type === "text" && form_Elements[i].value === " " || form_Elements[i].value === null || form_Elements[i].value === 0 || form_Elements[i].value.length < 1) {
console.log(form_Elements[i].name + ": " + form_Elements[i].value.length);
return false;
}
else if (form_Elements[i].type === "password" && form_Elements[i].value === " " || form_Elements[i].value === null || form_Elements[i].value === 0 || form_Elements[i].value.length < 1) {
console.log(form_Elements[i].name + ": " + form_Elements[i].value.length);
return false;
}
else{
return true;
}
}
}
if(Validation() === true){
$.ajax({
url: form_Action,
data: form_Information,
type: "GET",
dataType: "json",
success: function (data) {
$.each(data, function (propName, val) {
$("#post-wrapper").append("<table><tr>");
$("#post-wrapper").append("<td>");
$("#post-wrapper").append(propName + ": " + val);
$("#post-wrapper").append("</td>");
$("#post-wrapper").append("</tr></table>");
});
},
error: function() {
console.log('Cannot retrieve data.');
}
});
}
});
希望可以清楚地理解它:(
问候,
G.
你不应该检查'form_Elements [i] .value ===“”'而不是'form_Elements [i] .value ===“”'(注意空格)? – Wazaaaap