Javascript 将Basistance jquery验证程序与formtowizard插件一起使用
我将FormToWizard Jquery插件与此Basistance验证插件一起使用。我已将“下一步”按钮附加到一个单击事件,该事件将验证我的表单,但我只希望它验证当前字段集,而不是整个表单 formtowizard所做的是一次显示一个字段集,并在每个字段集中生成下一个和上一个按钮来浏览表单 事情是这样的:Javascript 将Basistance jquery验证程序与formtowizard插件一起使用,javascript,jquery,ajax,html,css,Javascript,Jquery,Ajax,Html,Css,我将FormToWizard Jquery插件与此Basistance验证插件一起使用。我已将“下一步”按钮附加到一个单击事件,该事件将验证我的表单,但我只希望它验证当前字段集,而不是整个表单 formtowizard所做的是一次显示一个字段集,并在每个字段集中生成下一个和上一个按钮来浏览表单 事情是这样的: <form id="SignupForm" method="POST" action=".................."> <fieldset>
<form id="SignupForm" method="POST" action="..................">
<fieldset>
<legend>Step One</legend>
<div>
</div>
</fieldset>
<fieldset>
<legend>Step Two</legend>
<div>
</div>
</fieldset>
</form>
我从这个已经回答过的主题中找到了关于同一个问题的代码,但它似乎不起作用!
他基本上在现有的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');
});
}
函数createNextButton(i){
var stepName=“step”+i;
$(“#”+stepName+“命令”).append(“”);
$(“#”+步骤名+“下一步”).bind(“单击”,函数(e){
/*验证*/
if(options.validationEnabled){
var stepIsValid=true;
$(“#”+stepName+”:输入”)。每个(函数(索引){
checkMe=element.validate().element($(this));
//stepIsValid=!element.validate().element($(this))&&stepIsValid;
stepIsValid=checkMe&&stepIsValid;
});
//警报(“stepIsValid==”+stepIsValid);
如果(!stepIsValid){
返回false;
};
};
$(“#”+stepName).hide();
$(#步骤“+(i+1)).show();
如果(i+2==计数)
$(子mmitButtonName).show();
选择步骤(i+1,“下一步”);
});
}
你知道怎么做吗?我不是jquery/javascript专业人士,因为我才刚刚开始,我仍在努力学习语法是如何工作的,以及那个人为什么做出这些更改 可能会给字段集一个id,如
将id用于函数:$(“a.next”)。单击(函数(){
$(“#验证”).validate();
});代码>我发现了错误。我忘记声明变量validationEnabled
。添加该选项可以解决问题。或者不只是使用一个表单。您可以将大表单拆分为几个较小的表单。您在哪里声明了validationEnabled?能否指定在哪里声明了validationEnabled?我猜你做了$(“a.next”)。单击(函数(){$(“#formID”)。验证({validationEnabled:true})@formtowizard.js中的Jchesoptions=$.extend({submitButton:“Submit”,validationEnabled:true},options)代码>
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');
});
}