2

formtowizard jquery プラグインとベーススタンス検証を使用しています。次のボタンをフォームを検証するクリックイベントに添付しましたが、フォーム全体ではなく現在のフィールドセットのみを検証したい...

私のフォームはこのように設定されています

<form id="SignupForm" method="POST" action="..................">

    <fieldset>
    <legend>Application</legend>
        <div>

        </div>
    </fieldset>

    <fieldset>
    <legend>Step Two</legend>
        <div>

        </div>
    </fieldset>

これは私が現時点で使用しているものです

  $("a.next").click(function() {
  $("#SignupForm").validate();
  });

これは私のボタンが呼び出される場所です

function createNextButton(i) {
            var stepName = "step" + i;
            $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next</a>");

            $("#" + stepName + "Next").bind("click", function(e) {
                /* VALIDATION */
                if (options.validationEnabled) {
                    var stepIsValid = true;
                    $("#"+stepName+" :input").each(function(index) {
                        checkMe = element.validate().element($(this));
                        //stepIsValid = !element.validate().element($(this)) && stepIsValid;
                        stepIsValid = checkMe && stepIsValid;
                    });
                    //alert("stepIsValid === "+stepIsValid);
                    if (!stepIsValid) {
                        return false;
                    };
                }; 

                $("#" + stepName).hide();
                $("#step" + (i + 1)).show();
                if (i + 2 == count)
                    $(submmitButtonName).show();
                selectStep(i + 1,'next');
            });
        }

アイデアはありますか?

4

1 に答える 1

1

他の誰かが知りたい場合は、問題を解決できました...

function createNextButton(i) {
    var stepName = "step" + i;
    $("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next</a>");

    $("#" + stepName + "Next").bind("click", function(e) {

        if (options.validationEnabled) {
            var stepIsValid = true;
            $("#"+stepName+" :input").each(function(index) {
                checkMe = element.validate().element($(this));
                //stepIsValid = !element.validate().element($(this)) && stepIsValid;
                stepIsValid = checkMe && stepIsValid;
            });
            alert("stepIsValid === "+stepIsValid);
            if (!stepIsValid) {
                return false;
            };
        }; 

        $("#" + stepName).hide();
        $("#step" + (i + 1)).show();
        if (i + 2 == count)
            $(submmitButtonName).show();
        selectStep(i + 1,'next');
    });
}
于 2010-12-09T13:37:28.677 に答える