javascript - 在 jquery 中取消提交?

标签 javascript jquery forms scrollto

我正在做一个表单验证,我想在“提交时”验证输入字段,如果错误我正在使用 jquery.scrollTo 去出错:

$('#form_inscripcion').submit(function() {
    //se traen todos los inputs del formulario
    var $inputs = $('#form_inscripcion :input');

    $inputs.each(function() {
        var encontro_error = validar($(this)); //uses dependence ok
        if (encontro_error){
            $.scrollTo( 'input#'+$(this).attr('id'), 800 ); //go to error
            return false; // dont submit!... but seems not enter here :(
        }
    });

});

问题是,当返回的错误不会取消提交时,不会运行 return false; 行。

时它工作正常
<form id="form_inscripcion" name="form" method="post" action="some" onsubmit="return false">

但如此,绝不会屈服。我希望你理解我 :) 谢谢 :)

最佳答案

我会像这样使用 e.preventDefault():

$('#form_inscripcion').submit(function(e) { 
     //se traen todos los inputs del formulario
     var $inputs = $('#form_inscripcion :input');

     $inputs.each(function() {
        var encontro_error = validar($(this)); //uses dependence ok
        if (encontro_error){
            $.scrollTo( 'input#'+$(this).attr('id'), 800 ); //go to error
            e.preventDefault(); // Cancel the submit
            return false; // Exit the .each loop
        }
     });
});

只需确保将 e 参数提供给提交函数调用(代码块中的第一行)。

关于javascript - 在 jquery 中取消提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1773852/

相关文章:

C# 从数据库中填充 CheckBoxList(奇怪的列/标题文本名称)

javascript - 在我的服务工厂中,我查找一个大型数据集 - 我想保留它并检查它是否存在以避免再次调用它

javascript - 监视 Jasmine-Jquery 函数调用

javascript - 在ReactJS To Do App上实现删除功能

javascript - jquery双换行

jQuery - 在 Unslider 的每个 <li> 上运行函数

javascript - 如何从表的outerHTML 值创建列表对象?

javascript - 引用错误: For request with hapi/Node. js

php - Joomla 输入表单字段输出

forms - 在 Xamarin Forms 中创建菜单叠加层