0

我有一个 jQuery 表单,可以很好地完成每个步骤,但它似乎没有提交。这是代码:

        $(function(){
            $("#demoForm").formwizard({ 
                formPluginEnabled: true,
                validationEnabled: true,
                focusFirstInput : true,
                textNext: 'Next',
                formOptions :{
                    url: 'submit.php',
                    type: 'POST',
                    success: function(data){$("#status").fadeTo(500,1,function(){ $(this).html(responseText).fadeTo(5000, 0); })},
                    dataType: 'json',
                    beforeSubmit: function(data){$("#data").html("data sent to the server: " + $.param(data));},
                    resetForm: false
                }   
             }
            );

BeforeSubmit 事件触发,但从不触发成功。http://thecodemine.org/上的文档指向此处:http: //jquery.malsup.com/form/#options-object,并建议 malsup.com 上的每个选项都可用于 jQuery 表单向导。

知道为什么这个状态 div 永远不会更新吗?

谢谢!

编辑:

更新的 JS:

$(function () {
$("#demoForm").formwizard({
    formPluginEnabled: true,
    validationEnabled: true,
    focusFirstInput: true,
    textNext: 'Next',
    remoteAjax: {
        "cc": { // add a remote ajax call when moving next from the second step
            url: 'submit.php',
            type: 'POST',
            dataType: 'json',
            success: function (data) {
                $("#status").fadeTo(500, 1, function () {
                    $(this).html(responseText).fadeTo(5000, 0)
                });
            }
        }
    },
    formOptions: {
        success: function (data) {
            $("#status").fadeTo(500, 1, function () {
                $(this).html(responseText).fadeTo(5000, 0);
            })
        },
        dataType: 'json',
        beforeSubmit: function (data) {
            $("#data").html("data sent to the server: " + $.param(data));
        },
        resetForm: false
    }
});

我现在在我的 apache 日志中看到脚本正在调用 submit.php,但它似乎没有将响应放在页面上。

4

2 回答 2

1

我遇到了同样的问题 - 但设法让它工作。关键是确保数据以 JSON 形式返回。

我正在使用 node.js 和 express,所以只需执行以下操作:

res.json({status: 'ok'});
于 2013-11-15T14:27:49.210 回答
0

以非常糟糕的方式解决了这个问题。创建了一个 Ajax 函数并使用 beforeSubmit 选项调用它。我不建议任何人这样做,但似乎成功表单选项不起作用,这真的是我要做的所有事情。

于 2013-03-13T16:09:07.450 回答