1

これは私のHTMLコードです:

<head>
    <script src="jquery.js"></script>

    <script type="text/javascript">
        function logiin()
        {
            name_sent = document.getElementById('username').value;
            pass_sent = document.getElementById('pass').value;
            $.post(
                'login.php',
                {
                    name: name_sent
                },
                function show(data) {alert (data); }
            );
        }
    </script>
</head>

<body>
    <!--<form>-->
        Username: <input type="username" name="username" id="username"> <br>
        Pass: <input type="password" name ="pass" id="pass"> <br>
        <input type="submit" onclick="logiin();">
    <!--</form>-->
</body>

ajaxとJQueryで動作し、非常にうまく動作します!:)しかし、フォームタグを追加すると、機能しません。どうして。?

4

3 に答える 3

2

フォームに含まれている場合、送信ボタンがフォームを送信しようとするため、機能していません。

これを防ぐ最も簡単な方法はreturn false;、onclickハンドラーに追加することです。

<input type="submit" onclick="logiin(); return false;" />

ただし、より良い方法は、ハンドラーをフォーム自体に追加することです(ユーザーが別の方法でフォームを送信する場合)。

<form onsubmit="logiin(); return false;">
    <!-- Form elements here -->
</form>
于 2013-01-05T07:04:51.227 に答える
0

送信を無効にするだけです。タイプが送信のボタンがない場合、JavaScriptコードで明示的に行わない限り、フォームは送信されません。

<body>
    <form>
        Username: <input type="username" name="username" id="username"> <br>
        Pass: <input type="password" name ="pass" id="pass"> <br>
        <input type="button" onclick="logiin();">
    </form>
</body>
于 2013-01-05T07:06:20.403 に答える
-1

おそらく、送信タイプの入力ボタンを使用しているためです。タイプボタンの入力を使用してみてください。

<input type="button" onclick="logiin();">

送信タイプのボタンは、投稿を使用してフォームを自動的に送信しようとします。詳細については、 w3cSchoolsを参照してください。

于 2013-01-05T07:04:13.370 に答える