您好,我检查了表单中的空白字段,并提醒用户。但是当提醒用户时,它会发布数据,我不能返回false,除非刷新页面
$('#loginAccount').submit(function() {
$(this).find(':input:text').each(function(i) {
if($(this).val()=="") {
// alert($('label').eq(i).html())
$('#alert3').html('Please fill all fields.');
return false;
}
});
});发布于 2010-02-03 23:06:10
$('#loginAccount').submit(function() {
var valid = true;
$(this).find(':input:text').each(function(i) {
if($(this).val() == "") {
// alert($('label').eq(i).html())
$('#alert3').html('Please fill all fields.');
valid = false;
}
});
return valid;
});您当前正在从each返回。您需要做的是跟踪它是否有效,然后使用该值作为提交的返回值。
发布于 2010-02-03 23:06:49
在jQuery each()中,return false;具有不同的含义。它被用来打破每一个。也许您可以设置一个在each()之后观察的标志,以查看验证是否成功。
发布于 2010-02-03 23:05:55
您需要在submit函数中返回false,而不是在each函数中:
$('#loginAccount').submit(function() {
var isValid = true;
$(this).find(':input:text').each(function(i) {
if($(this).val()=="")
{
isValid = false;
//alert($('label').eq(i).html())
$('#alert3').html('Please fill all fields.');
}
});
return isValid;
});https://stackoverflow.com/questions/2192869
复制相似问题