我正在构建一个单页网站,其中散布着多个表单。 我正在使用Requirejs和jQuery,我正在尝试将验证过程最小化到单个脚本,因为:
$("form").submit(function( event ) {
var empty_fields = [];
$(this > "chck").each(function(){
if($(this).val().length !=0 ) {
return;
}else{
empty_fields.push($(this).attr('name'))
$(this).css('border','2px solid red');
event.preventDefault();}
})
if(empty_fields){
alert("The required field "+empty_fields+" is missing")
}
});
现在的问题是,无论何时我提交表单(无论哪种形式),该函数都会通过“chck”(check)类遍历所有子元素。
我试图做的是强制该功能仅选择提交的表单并检查其子项(“.chck”)和它们 - 不是其他形式的“chck”的其余部分。
但我似乎无法让它仅提及正在提交的表格。
有什么建议吗?
答案 0 :(得分:1)
您可以获取与event.currentTarget.id
$("form").submit(function( event ) {
var empty_fields = [];
$("#" + event.currentTarget.id + " .chck").each(function(){
if($(this).val().length !=0 ) {
return;
}else{
empty_fields.push($(this).attr('name'))
$(this).css('border','2px solid red');
event.preventDefault();}
})
if(empty_fields){
alert("The required field "+empty_fields+" is missing")
}
});