第一步后,jquery formwizard停止表单插件(ajax)

时间:2012-07-01 14:03:27

标签: jquery jqueryform

我使用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>

1 个答案:

答案 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

参数的任何页面