0

MVC アプリケーションで Jquery Form ウィザード プラグインを使用しています。http://thecodemine.org/ 4 ステップのフォームがあります。ステップの1つに、アップロード機能があります。各ステップ、および前後のステップで機能を送信する必要があります。後の手順はオプションです。

ナビゲーションに送信ボタンを追加できました。クリックすると、アクティブなステップに関連するフォーム データのみが送信され、その他のデータは null になります。

私の問題をより明確にするために:ビュー:

<form id="myform" method="post" action="/Controller/Action">
    <div id="fieldWrapper">
        <fieldset class="step fieldset" id="first">
            <legend class="legend">First step</legend>
            Some input controls
        </fieldset>
        <fieldset class="step fieldset" id="second">
            <legend class="legend">Second step</legend>
            some more input controls (optional)
        </fieldset>
        <fieldset class="step fieldset" id="third">
            <legend class="legend">Third step</legend>
            some more input controls with filu upload
            (optional)
        </fieldset>
        <fieldset class="step fieldset" id="fourth">
            <legend class="legend">Fourth step</legend>
            some more input controls (optional)
        </fieldset>
    </div>
    <div id="demoNavigation">
        <input class="navigation_button" id="back" value="Back" type="reset" />
        <button type="submit" id="submitBtn">Submit and Finish</button>
        <input class="navigation_button" id="next" value="Next" type="submit" />
    </div>
    </form>

脚本:

<script type="text/javascript">
    $(function () {
        $("#myform").formwizard({
            validationEnabled: true,
            focusFirstInput: false,
            disableUIStyles: true,
            textSubmit: 'Submit and Finish',
            textNext: 'Continue to next step',
            next: "input:submit"
        }
        );
    });
</script>

送信ボタンが最後のステップで非表示になるように Jquery.form.wizard.js を更新しました。各ステップに、送信ボタンとナビゲーション ボタンがあります。

2 番目のステップでフォームを送信すると、2 番目のステップのフォーム データのみが投稿され、残りは投稿されません。

サンプルを調べましたが、適切なものが見つかりませんでした。誰でもこれを達成する方法を提案できますか?

4

1 に答える 1

1

ドキュメントと jquery.form.wizard.js ファイルを調べて、何が行われたかをより深く理解しました。

次のようにスクリプトを書くだけです。

<script type="text/javascript">
    $(function () {
        $("#myform").formwizard({
            validationEnabled: true,
            focusFirstInput: false,
            disableUIStyles: true,
            textSubmit: 'Submit and Finish',
            textNext: 'Continue to next step',
            next: "input:submit"
        }
        );
    });
    $('#submitBtn').click(function () {
        var stepInfo = $('#myform').formwizard('state');
        for (var i = 0; i < stepInfo.activatedSteps.length; i++) {
            stepInfo.steps.filter("#" + stepInfo.activatedSteps[i]).find(":input").not(".wizard-ignore").removeAttr("disabled");
        }
    });
</script>
于 2013-01-04T09:52:47.827 に答える