【发布时间】:2012-08-24 17:27:40
【问题描述】:
您好,我希望在用户注册我的网站时检查我的数据库,以确保他们选择的用户名不存在,如果确实让他们知道。我下面的代码不起作用,尽管无论我做什么并且表单总是提交,ajax 中的返回似乎都没有返回到我的表单中。为什么会这样?感谢您的帮助
HTML
<form name="signup" action="Test1.php" onsubmit="return checkUser();" method="get">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>
Javascript
<script type="text/javascript" src="jquery-1.7.1.min.js"/></script>
<script type="text/javascript">
function checkUser(){
var userV = document.signup.user.value;
$.ajax({
url: "Test.php",
type: "POST",
data: {user:userV},
success: function (response) {
if(response=="0"){
//Username already exists notify user
return false;
}else{
return true;
}
}
});
}
</script>
Test.php
<?PHP
$user = $_POST['user'];
if($user=="test"){
die("0");
}else{
die("1")
}
?>
Test1.php
<?PHP
echo "Form submitted";
?>
【问题讨论】:
-
我面临着一个非常相似的问题。 stackoverflow.com/questions/12017823/…看看有没有答案可以帮到你
-
第一个 JavaScript 问题。为什么我的异步调用不能同步工作。
-
尝试从 onsubmit 中删除“return”。胡乱猜测。回去看看你的代码:P
-
另外,就我的经验而言,您不需要使用 die,除非您希望页面代码停止并转储变量。只需使用回声。
标签: php javascript ajax forms