我在我的项目中使用SmartWizard让用户在我的网站上注册。但我想保存步骤3中的所有数据,其中向导有四个步骤。单击完成按钮后,向导将提交表单。下面的代码将描述我的假设,任何人都可以建议一种方法来做到这一点。感谢。
function validateAllSteps(){
var isStepValid = true;
if(validateStep1() == false){
isStepValid = false;
$('#wizard').smartWizard('setError',{stepnum:1,iserror:true});
}else{
$('#wizard').smartWizard('setError',{stepnum:1,iserror:false});
}
if(validateStep2() == false){
isStepValid = false;
$('#wizard').smartWizard('setError',{stepnum:2,iserror:true});
}else{
$('#wizard').smartWizard('setError',{stepnum:2,iserror:false});
}
return isStepValid;
}
function validateSteps(step){
var isStepValid = true;
// validate step 1
if(step == 1){
if(validateStep1() == false ){
isStepValid = false;
$('#wizard').smartWizard('showMessage','Please correct the errors in step'+step+
' and click next.');
$('#wizard').smartWizard('setError',{stepnum:step,iserror:true});
}else{
$('#wizard').smartWizard('setError',{stepnum:step,iserror:false});
}
}
// validate step 2
if(step == 2){
if(validateStep2() == false ){
isStepValid = false;
$('#wizard').smartWizard('showMessage','Please correct the errors in step'+step+
' and click next.');
$('#wizard').smartWizard('setError',{stepnum:step,iserror:true});
}else{
$('#wizard').smartWizard('setError',{stepnum:step,iserror:false});
}
}
return isStepValid;
}
//start of step one validation
//end of of step one validation
//step 2 validation
//end of step 2 validation
var res=validateAllSteps();
if(res == true)
{
$('#form1').submit();
}
答案 0 :(得分:1)
您可以在步骤离开事件"上绑定到"智能向导
$("#smtwrdConf").on("leaveStep", function (e, anchorObject, stepNumber, stepDirection) {
//you can perform step-by-step validation
如果(validatestep) }
如果下一步= stepnumber + 2 == 4,请提交表格
答案 1 :(得分:0)
修改插件,以便您有另一个按钮,例如“保存部分”。然后添加一个名为“onSavePartial”的事件处理程序。在插件初始化期间,你可以添加要调用的回调。然后在此回电中提交您的表单。
jQuery('#wizard').smartWizard({
selected:currentStep,
enableAllSteps:enableSteps,
transitionEffect:'slideleft',
onLeaveStep:leaveAStepCallback,
onFinish:onFinishCallback,
onSavePartial:onSavePartialCallBack,
enableFinishButton:false,
});
这是onSavePartialCallBack函数
function onContinueLaterCallback(){
//your validation and other stuff here
jQuery('form').submit();
}
NB你必须破解它的插件才能显示按钮,并处理onSavePartial thingy