2011-07-22 22 views
0

我有一個很像Twitter的登錄下拉菜單。你可以在這裏看到它http://mashup2.sunnydsouza.com/index3.php在動態CSS下拉菜單中顯示錯誤消息

目前我正在使用JQuery驗證插件來檢查在點擊提交之前是否輸入了用戶名/密碼字段。我想要的是,如果用戶輸入不正確的用戶名/密碼,錯誤登錄消息應該在下拉本身的密碼字段下,而不需要重新加載整個頁面

但是當用戶輸入正確的用戶名/密碼時,該頁面將刷新,'登錄'現在將替換爲用戶輸入的用戶名(這也將是一個下拉列表,帶有控制面板,註銷選項等)

有人可以幫我解決這個問題嗎?如何在jQuery中做到這一點?

編輯:

以下是下拉代碼

 <fieldset id="signin_menu"> 
       <form method="post" id="signin" action="index3.php"> 
        <label for="username">Username or email</label> 
        <input id="username" name="username" value="" title="username" class = "required" tabindex="4" type="text"> 
       </p> 
       <p> 
       <label for="password">Password</label> 

       <input id="password" name="password" value="" title="password" tabindex="5" class="required" type="password"> 
       </p> 
       <p class="remember"> 
       <input id="signin_submit" value="Sign in" tabindex="6" type="submit" name="user_login"> 
       <input id="remember" name="remember_me" value="1" tabindex="7" type="checkbox"> 
       <label for="remember">Remember me</label> 
       </p> 
       <p class="forgot"> <a href="#" id="resend_password_link">Forgot your password?</a> </p> 

       <p class="forgot-username"> <A id=forgot_username_link title="If you remember your password, try logging in with your email" href="#">Forgot your username?</A> </p> 
      </form> 
      </fieldset> 

我想,當用戶輸入一個無效的用戶名/密碼,這個下拉菜單內顯示錯誤消息

+0

不可能通過您的所有網站來嘗試修復問題。你怎麼樣只發布相關的代碼在這裏 – Ibu

回答

1

所以,你可以添加一個「所需」類到兩個輸入字段,然後鉤一些這樣的代碼:

var $form = $("#signin"); 
$form.validate(); 
$form.submit(function() { 
if (!$form.valid()) { 
    return false; 
}}); 
+0

謝謝!但是,如果用戶輸入不正確的用戶名/密碼,我該如何處理。我希望錯誤消息在下拉

本身內。沒有必要重新加載頁面,但在正確的用戶名/密碼的情況下...頁面將重新加載與此時簽署的用戶 –

+1

您需要使用表單數據進行ajax調用,並獲得一個答案,如果憑據是有效的或不。你可能想看看$ .ajax或$ .post。另外,據我所知,jquery validate有一些ajax API,但我沒有機會研究它。 – FreeCandies