【发布时间】:2011-11-03 08:33:27
【问题描述】:
我想在提交表单之前验证一些输入,我正在这样做
$(document).ready(function(){
$('#form_arc_packages').submit(function(e){ /*should i use focus or similar, here?*/
e.preventDefault();
if(validarFormulario()==true){
$('#form_arc_packages').submit(); /*Am i starting an infinite loop, here?*/
}
});
});
在哪里
function validarFormulario(){
var valido = true;
$('.errorCanc').slideUp();
var fecha1=$('#date1').val();
var fecha2=$('#date2').val();
var area1=$('#area1').val();
var area2=$('#area2').val();
if (fecha1.length < 1){ $('#date1').next('.errorCanc').slideDown(); valido = false; }
if (fecha2.length < 1){ $('#date2').next('.errorCanc').slideDown(); valido = false; }
if (area1.length < 1){ $('#area1').next('.errorCanc').slideDown(); valido = false; }
if (area2.length < 1){ $('#area2').next('.errorCanc').slideDown(); valido = false; }
return valido;
}
现在只检查输入的长度,但问题是不会提交表单(即使设置了所有输入并且使用 console.log 我确保 validarFormulario 返回 true),
编辑
像这样:
$(document).ready(function(){
$('#form_arc_packages').submit(function(e){
if(validarFormulario()==true){
$('#form_arc_packages').submit();
}else{
//Post didn't pass validation, so prevent posting
e.preventDefault(); return false;
}
});
});
在 Firefox 中似乎可以正常工作,但例如,在 IE7 中,它显示错误(使用 slideDown)然后仍然提交表单...-编辑-忽略这个,它发生是因为 console.log() 我是使用。工作正常。
我做错了什么?
【问题讨论】:
标签: javascript jquery validation submit