Я хочу проверить несколько входов перед отправкой формы, я делаю это
$(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),
EDIT
И вот так:
$(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), а затем все еще отправляет форму ... -EDIT- игнорировать это, это произошло из-за console.log()
я был с помощью. отлично работает.
Что я делаю не так?