0

シンプルな「ログイン」フォームがあり、ajax が機能しています。しかし、新しいタブでページを新たにロードし、「ログイン」ページがロードされるたびに、ユーザー名とパスワードを入力し、「ログイン」ボタンを押すと、何らかの理由でページがリロードされますが、「ログイン」を押すとリロードされたページでボタン、ajax は問題なく動作します。これが何を意味するか知っている人はいますか?

簡単なログインフォームは次のとおりです。

        <form id="login_form" name="login_form" data-ajax="false">
            <label for="basic">Username:</label>
            <input type="text" name="usr" id="usr" value=""/>
            <label for="basic">Password:</label>
            <input type="password" name="psw" id="psw" value=""/>
            <input type="submit" value="Login" id="login" name="login"/>
            <label><input type="checkbox" name="remember_me" id="remember_me" value="checked_remember"/>Remember me!</label>
        </form>
        <div id="login_message"></div>

そして、ここに私のajaxスクリプトがあります:

$(document).ready(function(){
$("#login").click(function(){

username=$("#usr").val();
password=$("#psw").val();
$.ajax({
type: "POST",
url: "http://imes.jzpersonal.com/php/login_check.php",
data: "name="+username+"&pwd="+password,
success: function(html){
if(html=='true')
{
 $("#login_message").html("Logged in, congratulation.");
}
else
{
 $("#login_message").html("Wrong username or password");
}
},
beforeSend:function()
{
$("#login_message").html("Loading...")
}
});
return false;

}); });

また、私は POST メソッドを使用していますが、次のようにアドレスバーにアドレスを取得します:

http://imes.**********.com/login_page.php?usr=Jakub&psw=********&login=Login

これはjQueryMobileのものですか?

4

1 に答える 1

2

これは、jQuery Mobile で$(document).ready(function(){を使用できないためです。以下を使用する必要があります。

$(document).on('pageinit'){

});

または、ページに ID がある場合は、次のように使用します。

$('#page_id').on('pageinit'){

});

この問題の詳細については、http: //jquerymobile.com/test/docs/api/events.htmlを参照してください。

この記事と jQM ページ イベントの詳細については、https ://stackoverflow.com/a/14010308/1848600 を参照してください。

于 2013-01-22T12:36:43.320 に答える