我使用jquery表单向导分两步显示表单。在继续第二步之前,我使用jquery表单插件对步骤1中的表单字段进行ajax验证。
我遇到的问题是整个表单也是使用ajax发布的。而不是重定向到显示结果的另一个页面,结果将在同一页面上获取。如何配置表单插件以发布不使用ajax的完整表单?
<script type="text/javascript">
$(function(){
$("#Catering").formwizard({
formPluginEnabled: true,
validationEnabled: true,
focusFirstInput : true,
remoteAjax : {"first" : { // add a remote ajax call when moving next from the second step
url : "/validate",
dataType : 'json',
beforeSend : function(){alert("Starting validation.")},
complete : function(){alert("Validation complete.")},
success : function(data){
if(!(data.geldig)){ // change this value to false in validate.html to simulate successful validation
$("#status").fadeTo(500,1,function(){
$(this).html(data.errormessage)
});
return false; //return false to stop the wizard from going forward to the next step (this will always happen)
}
return true; //return true to make the wizard move to the next step
}
}},
}
);
});
</script>
答案 0 :(得分:0)
如果您不介意在表单中通过URL公开您的变量,您可以重定向到任何地方,并且使用表单捕获的变量存储在$ .param(data)
所以我用这个部分解决了
formOptions: {
success: function(data){ $("#status").fadeTo(500,1,function(){ $(this).html("You are now registered!").fadeTo(5000, 0);
beforeSubmit: function(data){
$("#data").html("data sent to the server: "+ $.param(data) );
/*HERE YOU MADE THE REDIRECTION WITH THE VARIABLES THROUGHT URL*/
window.location.href = "http://www.google.com?"+$.param(data);
},
dataType: 'json'
}
所以在提交之前,您所做的一切都是重定向到带有URL
参数的任何页面