0

我正在尝试使用 Jquery 表单插件以及验证(http://jquery.malsup.com/form/#ajaxForm)来验证和发布表单数据。

我试过在没有验证的情况下发送数据,它工作正常。例如:

$('#encodeForm').ajaxForm(function(res) {
    $('#result').html(res.data);
    console.log(res);
    return false;
});

return false阻止页面导航到服务器响应。

但是,当我用一个选项对象替换该函数时,上述方法不起作用:

$('#encodeForm').ajaxForm({ ......, success : function() { return false; } });

关于传递选项对象,如何防止页面导航(而不是 AJAX 响应?)

尝试的方法:

  1. 在验证回调中嵌套表单(当前)

  2. 在表单回调中嵌套验证(失败)

  3. 在表单上使用 form.submit 闭包(失败)

4

2 回答 2

0
$('#encodeForm').submit(function() {
    // submit the form
    $(this).ajaxSubmit();
    // return false to prevent normal browser submit and page navigation
    return false;
});
于 2013-07-12T12:36:42.437 回答
0

在大量使用代码和亚伯拉罕的笔记之后,以下内容对我有用:

        $('#decodeForm').validate({
            // rules here ....


            }
        });


    $('#decodeForm').ajaxForm({

        beforeSubmit : function() {

            console.log('FORM: ' + $('#decodeForm').valid());

            //block if false
            return $('#decodeForm').valid();

        },

        success : function(res) {
            if (res.err) {
                console.log('ERROR: ' + res.err);

            }
            // do something with the data

        }

    });

注意:如果规则无效,AJAX 查询似乎将不起作用。additional-methods.min.js如果您从那里使用函数,请确保包含该文件。

于 2013-07-13T05:10:27.267 回答