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
    }
});

スクリプトがsubmit.phpを呼び出していることが、Apacheログに表示されますが、ページに応答が表示されていないようです。

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 に答える