2012-04-26 107 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'); 

});