使用带有formtowizard插件的bassistance jquery-validator

时间:2014-01-30 13:20:51

标签: javascript jquery ajax html5 css3

我正在使用带有此Bassistance验证插件的FormToWizard Jquery插件。我已将我的下一个按钮附加到单击事件,该事件验证了我的表单,但我只希望它验证当前字段集而不是整个表单。

formtowizard的作用是一次显示一个fieldset,并在每个fieldset中生成next和back按钮以浏览表单。

它是这样的:

<form id="SignupForm" method="POST" action="..................">
    <fieldset>
        <legend>Step One</legend>
        <div>

        </div>
    </fieldset>

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

        </div>
    </fieldset>
</form>

这就是我宣布低音验证器的方式

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

我从这个已经回答的主题中找到了关于同样问题的代码,但它似乎没有用! Validate between fieldsets

他基本上在现有的FormToWizard插件方法中添加了几行代码。

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

知道怎么做这个工作吗?我不是jquery / javascript pro,因为我刚刚开始,我仍在尝试学习语法是如何工作的以及为什么这个人做出了这些改变。

2 个答案:

答案 0 :(得分:1)

我发现了错误。我忘了声明变量validationEnabled。添加它解决了问题。

答案 1 :(得分:0)

可以为字段集提供<fieldset id="validate"></fieldset>之类的ID,并将id与您的函数一起使用:$("a.next").click(function() { $("#validate").validate(); });