2012-04-26 99 views
0

我想淡出用户窗体的部分来加载下一个表单步骤(通过淡入)。但是当我点击提交时,它会提交表单并且不会淡出。jquery淡出内容

<script type="text/javascript"> 
    function validate(input, name) { 
     if(form['register'] = true) { 
      $("#step1").fadeOut("slow"); 
     } 
    } 

<form id="register" name="register" method="post" action=""> 
    <div id="step1" class="step1"> 
     form here... 
     ... 
     <input type="submit" 
       name="next" 
       id="next" 
       value="Continue" 
       disabled="disabled" /> 
    </div> 
+0

是你所有的代码? – j08691 2012-04-26 19:26:40

+0

为什么你的表单中有多个提交按钮?为什么不能有*一个*提交按钮,以及字段集中的下一个/上一个链接移动到下一个/上一个'页面'?另外,显示你的代码。还有一个[demo](http://jsfiddle.net/)(请记住[SSCCE](http://sscce.org/)。) – 2012-04-26 19:26:53

+0

您应该更深入地了解此表单的其余部分是如何工作的,您的用户能够在禁用时单击提交按钮?如何验证被调用? – 2012-04-26 19:31:40

回答

1

您需要防止您的形式从提交,让您的衰落发生:

JQUERY:

$(document).ready(function() { 
    $("form").submit(function(e) { 
    e.preventDefault(); 
    $("#step1").fadeOut("slow"); 
    }); 
}); 

但作为一个建议,你应该使用的按钮,让用户可以在步骤之间前后导航,并仅对最后一步使用提交按钮。

+0

完美;谢谢!所以改变提交按钮的类型,并添加一个“onclick”属性? – droidus 2012-04-26 19:35:25

+0

所以如果我将表单类型更改为按钮而不是提交,此代码将如何更改? – droidus 2012-04-26 19:36:31

+0

如果您使用表单按钮,则不需要阻止提交,而是需要调用一个函数来执行淡入淡出或将点击绑定到按钮!防爆。 onclick: Zuul 2012-04-26 19:39:39

1

“但是当我点击提交时,它会提交表单,并且不会淡出。”

该行让我相信你想要div隐藏,在你提交表单的那一刻。以下是你如何去做的:

//Select #register, bind a 'submit'-event. 
$('#register').on('submit', function(e){ 

    //This next line will prevent the form from being submitted. 
    e.preventDefault(); 

    //Fade out the #step1. 
    $('#step1').fadeOut('slow'); 

});