【发布时间】:2016-02-11 08:31:58
【问题描述】:
我正在尝试使用 onsubmit 在 script.js 上返回 false 来验证防止 index.php 表单重定向到 login.php。 script.js 文件从 login.php 获取 ajax 响应。但是 onsubmit return false 不起作用。这是代码
索引 php 文件
<html>
<head>
<title>Untitled Document</title>
<script src="jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="script.js" type="text/javascript"></script>
</head>
<body>
<form id="myForm" action="login.php" method="POST">
Username:<input type="text" id="username" name="username"><br />
Password:<input type="password" id="password" name="password"><br />
<button id="submit">Login</button>
</form>
<div id="ack"></div>
</body>
</html>
登录php文件
<?php
include("dbcon.php");
$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string(md5($_POST["password"]));
$sql = "select count(*) from users WHERE username='$username'
AND password='$password '";
$res= mysql_query($sql);
$row = mysql_fetch_array($res);
if( $row[0] >0 )
echo "login successful";
else
echo "login failed";
?>
脚本js文件
$("button#submit").click( function(){
if( $("#username").val()=="" || $("#password").val()=="")
$("div#ack").html("Please enter username and password");
else
$.post( $("#myForm").attr("action"),//attribute eg login.php
$("#myForm :input").serializeArray(),//break data into key value pairs
function(data){//catch daat from login.php eg login failed or login
$("div#ack").html(data);
});
$("#myForm").submit( function(){
});
return false;
});
我们将不胜感激任何形式的帮助
【问题讨论】:
-
任何控制台错误?
-
您是否将代码包装在文档就绪处理程序中?顺便说一句,您不是从提交处理程序(嵌套在单击处理程序中)返回 false,而是从按钮的单击事件返回。但是由于默认提交按钮的点击事件是在表单提交时触发的,所以这里不是问题。
标签: jquery