2013-12-13 30 views
1

我有一個div在css(display:none;)中沒有顯示任何東西,但是當我使用jquery .show()方法時,它只會閃爍第一頁。這裏是我的html代碼.show()方法不像它應該在jquery中工作

<center><div style="margin-top:100px;margin-bottom:100px;border:1px solid black;"> 

    <div class="logIn" id="login"> 

    <form action="Login.php" method="post" name="login"> 

    <h4> Log into your Irokko Account </h4><br/> 
    Username:<br/> 
    <input type="text" name="username"><br/><br/> 
    Password:<br/> 
    <input type="password" name="password"><br/><br/> 
    <input type="submit" value="Log In" name="login"> <input id = "create" type="submit" name="account"  value="Create Account"> </form> 

    <a href="#ForgotPassword" style="font-size:12px; color:blue;text-decoration:underline">Forgot Password</a> <br><br/> 
    <div id="ForgotPassword" class="modalDialog"> 
    <div> 
    <a href="Login.php" title="Close" class="close">X</a> 
<h2>Retrieve Password</h2> 
<form action="Login.php" method="post" name="login"> 
<p>Please enter your email address to retrieve your password.</p><br/><br/> 
    <input type="email" name="email" size="65"><br/><br/> 

    <input type="submit" value="Send" ><br><br> 
    </form> 
    </div> 
    </div> 
    </div><br><br> 


    <div id="signup" class="hide"> 
    <form action="login.php" method="post" name="signup" onSubmit="return validatesignup();"> 

    Confirm Password:<br/> 
    <input type="password" name="confirmpassword" size="40"><br/><br/> 
    Account Type:<br/> 
    <select name="accounttype" class="width"> 

     <option></option> 
     <option>Advertiser</option> 
     <option>Publisher</option> 
    </select><br/><br/> 
    Company Name:<br/> 
    <input type="text" name="companyname" size="40"><br/><br/> 
    Email address:<br/> 
    <input type="email" name="email" size="40"><br/><br/> 
    Country:<br/> 
    <input type="text" name="country" size="40"><br/><br/> 

    <input type="submit" name="createaccount" value="Create Account"><br><br> 

,這裏是我的CSS代碼

.hide{ 
      display:none; 
     } 

及以下的jQuery代碼

$(document).ready(function(){ 
     $(".hide").hide(); 

      $("#create").click(function(){ 

      $(".hide").show(); 

    }); 


}); 
+3

您沒有任何元素與你已經包括在HTML「創造」的ID,但你的點擊處理程序分配給具有該ID的元素。 –

+0

請發佈完整的問題,你關閉div和窗體。 –

+0

你在你的代碼中沒有div「.hide」,我要求你輸入正確的代碼 –

回答

2

創建按鈕type="submit"。您需要在表單的「提交」事件中調用event.preventDefault()(使該事件回調採用名爲event的參數),或者將id =「create」的輸入更改爲type=button

我會將其更改爲type="button",因爲我懷疑您會希望「Enter」按鍵按下「創建」。如果在表單中按下回車鍵,提交按鈕是默認的。

創建表單「消失」,因爲創建按鈕的提交(重新)加載login.php頁面。

+0

你剛纔說的有道理,login.php頁面重新加載,但我不能使用type =「button」,因爲我提交給數據庫,所以它可能會導致我的問題。我會嘗試event.preventDefault() –

+0

非常感謝doug65536。事件奏效。我的合夥人說告訴你你是一個偉大的程序員,一個天才。我們很開心。再次感謝。 –

0

嘗試ŧ他如果「#創建」是從其它來源:Event Delegation

$(document).ready(function(){ 
    $(".hide").hide(); 
    $(document).on('click','#create',function(){ 
     $(".hide").show(); 
    }); 
}); 
+0

創建ID正在從不同的來源閱讀。我現在將在此發佈完整的代碼。 –

+0

我試過你的代碼,它仍然在閃爍。 –

+0

非常感謝Tyagi。我得到了我需要的答覆。 –

0

爲什麼不能完全刪除.hide類和目標元素#create這樣的:

$(document).ready(function(){ 
    $("#signup").hide(); 
    $("#create").click(function(){ 
     $("#signup").show(); 
    }); 
}); 
+0

謝謝C.S.我已經得到了答案。 –