2011-12-04 65 views
1

我有一個登錄表單,當您單擊登錄按鈕時,表單fadesIn(),然後當用戶提交頁面時,它將重新加載Error驗證。jQuery - 在頁面加載時在表單上提交觸發器事件

問題是,一旦頁面再次加載,表單框不會出現,因爲登錄按鈕沒有觸發器。有沒有一種方式,一旦表單被提交,JavaScript會自動淡入在表單框中呢?

例如

//Login trigger 
<a href="#" class="login">Login</a> 

//Form that appears on trigger 
<form method="POST" action="index.php"> 
<label>Username</label><input type="text" name="username" /> 
<label>Password</label><input type="password" name="password" /> 
<input type="submit" name="submit" value="submit" /> 
</form> 

JQuery的

$("a.login").click(function(event) { 
    event.preventDefault(); 
    $("form").fadeIn("200"); 
}); 

用戶提交表單 - >重新加載頁面 - >希望頁面自動觸發登錄處理程序,以便形式在

淡出回

回答

0

另一種解決辦法是使用jQuery .trigger():​​

喜歡的東西$("a.login")).trigger('click');當你在一個情況下,你要模擬在$("a.login"))

+0

我在想,但按下提交時頁面將重新加載,所以不會重新加載js並且觸發器不會被激活? – user863739

+0

您可以添加隱藏在重新加載的頁面上的輸入。如果設置了此輸入,則使用觸發功能。像'if($('#autofadein')。val()== 1){$(「a.login」))。trigger('click');}' – phemios

+0

謝謝,這是完美的 – user863739

0

慣於此help:

 
$(document).ready(function() { 
    //show the form 
    $("form").fadeIn("200"); 
}); 
+0

不,因爲它會不斷顯示錶單,我只希望它在驗證時或當用戶單擊「登錄」時顯示錶單。並不總是顯示它。 – user863739

2

點擊一下,你可以包裝形式在一個div並它由CSS隱藏。然後在點擊事件時使用jQuery show()或更改CSS以顯示帶有窗體的div。

相關問題