因为IE< 10不支持Required
html表单属性,我不得不使用jquery来检查表单的空白表单字段。问题是,当用户点击提交并弹出Required
错误消息时,他们无法在字段中放置值并点击submit
。相反,他们必须刷新页面才能使提交按钮再次起作用。它们是一种方式,以便用户在验证失败后不必刷新页面吗?
$('html body input#create.btn').click(function() {
$('select').each(function() {
if ($(this).val() < 1) {
$(this).focus();
$('#required-warning-label').remove();
$(this).parent().append('<span id="required-warning-label" class="label label-warning">Required</span>');
stopsubmit = true;
return false;
}
})
if (stopsubmit) return false;
})
答案 0 :(得分:0)
将您的代码更新为
$('html body input#create.btn').click(function() {
stopsubmit = false;
$('select').each(function() {
if ($(this).val() < 1) {
$(this).focus();
$('#required-warning-label').remove();
$(this).parent().append('<span id="required-warning-label" class="label label-warning">Required</span>');
stopsubmit = true;
return false;
}
})
if (stopsubmit) return false;
})
答案 1 :(得分:0)
那是因为您从未将stopsubmit
标志设置为false。 之前使用.each
循环选择字段。
当你在它的时候,也可以在点击处理函数中创建一个 local 变量,不需要它是全局的。
答案 2 :(得分:0)
也许如果你改变它,程序将运作良好: if(stopsubmit)返回false;
$('html body input#create.btn').click(function() {
var stopsubmit=false;
$('select').each(function() {
if ($(this).val() < 1) {
$(this).focus();
$('#required-warning-label').remove();
$(this).parent().append('<span id="required-warning-label" class="label label-warning">Required</span>');
stopsubmit = true;
return false;
}
})
if(stopsubmit==true){
}else{
$("your_form_name").submit();
}
})