0

私は一般的にJQueryを初めて使用します。JQuery モバイルを使用して Web サイトを構築していますが、ログイン フォームでスタックしています。ユーザー名とパスワードをPHPファイルに送信しようとしています。

ユーザー名とパスワードを入力すると、次のリンクに移動します。

http://www.mydomain.com/mainfolder/#/mainfolder/?username=abc&password=123&myLat=&myLon=

それ以外の:

http://www.mydomain.com/mainfolder/php/login.php?username=abc&password=123&myLat=&myLon=

誰かが私を助けてくれればいいのに。申し訳ありませんが、これはこのサイトへの私の最初の投稿であり、コードの投稿に問題があります:)

前もって感謝します。

コードは次のとおりです。

<form id="loginForm">
    <div data-role="fieldcontain">
          <label for="username">username</label>
          <input type="text" name="username" id="username" value="" />
    </div>
    <div data-role="fieldcontain">
          <label for="password">password</label>
          <input type="password" name="password" id="password" value="" />
    </div>
    <input type="hidden" name="myLat" id="myLat" value="">
    <input type="hidden" name="myLon" id="myLon" value="">
    <input type="submit" id ="submit" data-role="button" data-inline="true" value="submit" />
</form>
<p><script type="text/javascript">document.write(new Date());</script></p>
<div id="error"></div>
</div>

<script>
    $(document).ready(function()
        {
            $("#loginForm").submit(function(e)
            { 
                // stop form from submitting normally
                e.preventDefault();
                // clear error html
                $("#error").html('');

                dataString = $("#loginForm").serialize();

                $.ajax(
                {
                    url: "/php/login.php",
                    type: "POST",
                    data: dataString,
                    success: function() 
                    {
                        alert("success");
                        $("#error").html('submitted successfully');
                    },
                    error:function()
                    {
                    alert("failure");
                        $("#error").html('there is error while submit');
                    } 
                });
        });
    });         
    </script>

PHP コード:

<?php
    session_start();

    $username = $_post['username'];
    $password = $_post['password'];

?>
4

1 に答える 1

1

どのブラウザを使用していますか? コード標準に準拠して、もう一度やり直してください。私の知る限り、w3仕様に基づくフォームタグには「アクション」フィールドが必要です。ここでは ajax を使用しているため、これは関係ありませんが、ブラウザーを混乱させる可能性があります。フォームの開始タグを次のように変更します。

<form method="POST" action="/mainfolder/php/login.php" id="loginForm">

また、スクリプト宣言を次のように変更します。

<script type="text/javascript">

そして、それが役立つかどうかを確認してください。

編集:アクションフィールドが必須であることを確認しました。セクション 17.3 を 参照 http://www.w3.org/TR/html401/interact/forms.html

于 2013-01-11T03:05:24.457 に答える