2011-12-16 12 views
0

を使用してクリックしたときに、私はここでロードPHPページ私はjqueryの

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

はidが提出すると、私は入力をクリックしたときものの、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> 

で次のスクリプトを実行していますauth.phpが別々に実行されたときに別のサイトにリダイレクトされても、ページはリロードされます。

私はアラートが、それはクリックイベントに応答しているとの警告でメッセージがボックスの正しい値が含まれていることを私を見ることを得ることができますが、$に.getは

+0

ページを更新したい場合は、なぜjqueryを使用していますか?直接投稿してみませんか? –

+0

'return false'を指定して送信をキャンセルする必要があるかもしれません。そうしないと、ブラウザはフォームを送信します。 – Eliasdx

答えて

0

をauth.php開くことはありませんようですフォームの送信を停止するには、フォームにreturn false;を追加する必要があります。.click fnを送信ボタンに追加したばかりです。しかし、フォームは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(); 
    }); 
});