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

可能是因为您使用的是submit类型的输入按钮。尝试使用button类型的输入。

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

submit类型的按钮将自动尝试使用 post 提交表单。有关更多信息,请参阅w3c 学校

于 2013-01-05T07:04:13.370 回答