Javascript Jquery验证,停止执行
我这里有问题,我需要一些帮助Javascript Jquery验证,停止执行,javascript,jquery,Javascript,Jquery,我这里有问题,我需要一些帮助 我的表格看起来像 要求: 如果单击按钮,如果其中一个大于100,我不想保存记录字段 我试过这个密码 $('.accept').click(function() { $(this).parentsUntil('div.record').find('[name^="marks"]').each(function() { var subjectID = $(this).attr('id'); var marks = $(this).val(); // ch
我的表格看起来像 要求: 如果单击按钮,如果其中一个大于100,我不想保存记录字段 我试过这个密码
$('.accept').click(function() {
$(this).parentsUntil('div.record').find('[name^="marks"]').each(function() {
var subjectID = $(this).attr('id');
var marks = $(this).val();
// check value
if(marks > 100) {
alert("error");
return false;
}
// save marks of this subject
// code to insert record into database table
});
return false;
});
如果用户填写为,物理=83,数学=89,生物学=102,英语=94
然后我的代码将前两个主题插入数据库,第三个停止并返回false
但我希望我的程序不要在任何科目大于100的情况下插入任何分数
任何人都知道问题出在哪里。问题是,您正在运行
代码,以便在每个循环中将记录插入数据库表中
——当然,时间是单向的,您不能在发现问题并说“哦,不,不要执行以前的迭代”后倒带
最简单的解决方案是验证整个表单,然后将数据发送到数据库
$('.accept').click(function() {
const marks = $(this).parentsUntil('div.record').find('[name^="marks"]');
let valid = true;
marks.each(function() {
var marks = $(this).val();
if (marks > 100) {
alert("error");
valid = false;
return false; // I gather this terminates the each loop? I don't know jQuery at all
}
}
if (valid) {
marks.each(function() {
var subjectID = $(this).attr('id');
var marks = $(this).val();
// save marks of this subject
// code to insert record into database table
});
}
return false;
});
为什么@mohamudneri不返回false;不停止执行仅当所有输入有效时,才会继续发送到数据库。否则,将不会向数据库发送任何内容。您所指的返回值为false?你是说这个代码仍然发送到数据库,分数超过100?如果是这样的话,您显然是复制错了。我输入了var valid=true,在If块中,我再次输入了var valid=false