我有一个表单,他包含文本字段的百分比数据,点击提交我想要使用每个类选择器验证所有百分比,并且检查无效百分比打破每个和焦点字段,但'return false'不要打破这个
我的代码:
$('#enviarquestionario').click(function(event){
event.preventDefault();
$('input.percent').each(function(){
valor = $(this).val();
if(isNaN(valor) || valor > 100 || valor < 0 ){
alert('Preencha corretamente os campos de porcentagem com valores entre 0 e 100');
$(this).focus();
return false;
}else{
$('#questionarioparticipacao').submit();
}
});
return false;
});
不知何故,表格正在提交。
#enviarquestionario is a ancor
答案 0 :(得分:1)
请改为尝试:
$('#enviarquestionario').click(function(event){
event.preventDefault();
var isError = false;
$('input.percent').each(function(){
valor = $(this).val();
if(isNaN(valor) || valor > 100 || valor < 0 ){
alert('Preencha corretamente os campos de porcentagem com valores entre 0 e 100');
$(this).focus();
isError = true;
return false;
}
});
if(!isError){ $('#questionarioparticipacao').submit(); }
return false;
});
答案 1 :(得分:0)
考虑更改代码以使用有效标志,即使一次验证失败,该标志也设置为false:
$('#enviarquestionario').click(function(event){
event.preventDefault();
var valid = true; // initially set to true
$('input.percent').each(function(){
valor = $(this).val();
if(isNaN(valor) || valor > 100 || valor < 0 ){
alert('Preencha corretamente os campos de porcentagem com valores entre 0 e 100');
$(this).focus();
valid = false; // set to false even if one fails
return false;
}
});
// submit only if all validations pass
if(valid === true) $('#questionarioparticipacao').submit();
return false;
});
答案 2 :(得分:0)
只是我的版本。这实际上会打破你想要的.eph。
$('#enviarquestionario').click(function(event){
event.preventDefault();
var breakerbreaker = false;
$('input.percent').each(function(){
if(breakerbreaker){ return false; }
valor = $(this).val();
if(isNaN(valor) || valor > 100 || valor < 0 ){
alert('Preencha corretamente os campos de porcentagem com valores entre 0 e 100');
$(this).focus();
breakerbreaker = true;
});
if(!breakerbreaker){ $('#questionarioparticipacao').submit(); }
return false;
});