2011-12-16 48 views
0

我運行下面的腳本加載PHP頁面,當我點擊使用jQuery

$(document).ready(function() { 
    $('#submit').click(function(){ 
     $(this).get("auth.php",{username: $('#log').val(), password: $('#pwd').val()}); 
    }); 
}); 

下面是HTML

<form class="clearfix" action="#" method="post"> 
    <h1>Member Login</h1> 
    <label class="grey" for="log">Username:</label> 
    <input class="field" type="text" name="log" id="log" value="" size="23" /> 
    <label class="grey" for="pwd">Password:</label> 
    <input class="field" type="password" name="pwd" id="pwd" size="23" /> 
    <label><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> &nbsp;Remember me</label> 
    <div class="clear"></div> 
    <input id="submit" type="submit" name="submit" value="Login" class="bt_login"/> 
    <a class="lost-pwd" href="#">Lost your password?</a> 
</form> 

雖然當我點擊id爲輸入提交即使auth.php在單獨運行時重定向到另一個站點,頁面也會重新加載。

我可以得到警報,告訴我,這是對click事件和警報的消息包含框正確的價值觀,但它似乎$不用彷徨從未打開auth.php

+0

爲什麼你使用jquery這個如果你想頁面刷新?爲什麼不直接發佈? – 2011-12-16 14:50:25

回答

0

您必須在表單中添加return false;以停止表單提交,您只需在提交按鈕中添加一個.click即可。但是STILL提交的表單。

1

你的代碼有一些問題。首先是$.get而不是$(this).get。接下來,您可能想要防止默認操作,儘管我無法判斷您是否希望或不希望看到您的情況,但似乎您希望刷新頁面,如果取消默認操作,則不會發生這種情況,通常您會使用ajax當你想刷新頁面的一部分,並防止完全刷新。如果你期望頁面刷新/重定向,那麼你爲什麼首先使用ajax?爲什麼不直接發帖?

$(document).ready(function(e) { 
    $('#submit').click(function(){ 
     $.get("auth.php",{username: $('#log').val(), password: $('#pwd').val()}); 
     e.preventDefault(); 
    }); 
});