我正在構建一個登錄表單,它將登錄我而不刷新頁面。Javascript/AJAX需要兩次點擊
我有以下頁面:
INDEX.php
<script language="javascript">
$(document).ready(function()
{
//log in- send data to php page which creates a session. Log in div is reloaded to display log out button.
$("#login_form").submit(function()
{
$.post("php/loginajax.php",{emai:$('#emai').val(),pass:$('#pass').val()} ,function(data)
{
if(data=='yes') {$('#login').load('inc/headerlogin.php');}
if(data =='no') {$("#loginerror").show();}
});
//return false;
});
//log out- destroy session and reload log in div to display log in form again.
$("#logout").click(function()
{
$.post("php/loginout.php");
$('#login').load('inc/headerlogin.php');
});
});
</script>
註銷按鈕的工作原理細點擊一次,會被破壞,登錄DIV重新加載顯示。
如果首頁加載時登錄按鈕有效。 如果登錄,然後註銷然後再次嘗試登錄,全部在同一頁面上而不刷新它需要點擊兩次登錄按鈕。
此外,我已經散佈在if語句之前和它們內部的一些警報,但即使其餘的代碼工作,這些都沒有顯示......任何想法?
在你第一次點擊時,POST不成功,因此成功函數沒有被調用。即您的服務器出現問題。 –
我沒有這樣想過,但是當我在新頁面上點擊它時,它第一次工作。這是當我註銷,然後嘗試登錄同一頁面而不刷新我必須點擊兩次。 – penpen
什麼是inc/headerlogin.php,你爲什麼需要在註銷後再次加載()?如果該文件包含你的JS,那麼'$(document).ready()'會再次運行並註冊第二個'submit'處理程序。 –