> test1.PHP
<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#username').change(function(){
var userName = $('#username').val();
$.post("getUserName.PHP", {userName: userName}, function(data){
$("#userNameCheck").html(data);
});
});
$('#submit').click(function(){
//CODE HERE
});
});
</script>
</head>
<body>
<form action="" method="post" id="addform">
Username: <input type="text" name="username" id="username" size="24" class="required" maxlength="22" />
<div id="userNameCheck"></div>
<input type="submit" id="submit" name="submit" value="ADD user" />
</form>
</body>
</html>
> getUserName.PHP
<?PHP
include("db.PHP");
$userName = $_POST['userName'];
$q = "select user_name from user where user_name = '".$userName."'";
$r = MysqLi_query($dbc, $q);
$num = MysqLi_num_rows($r);
if($num)
{
echo '<div style="color:red">Username taken. Please type another new one.
</div>';
}
else
{
echo '<div style="color:green">You can use it.</div>';
}
?>
>数据库(用户表)
user_id user_name
1阿里
2阿布
>从上面:
=>在文本框中键入“ali” – >显示“你可以使用它”绿色的消息.
=>在文本框上键入ahmad – >以红色显示“Username taken …”消息.
>我的要求是如果消息是“你可以使用它”,请转到test2.PHP;如果消息是“Username taken …”,则表单上没有提交.
>我的问题是当我点击提交按钮时如何控制“你可以使用它”或“用户名截取”消息?
解决方法:
不使用按钮的单击处理程序,而是使用表单提交事件.
$(document).ready(function () {
$('#username').change(function () {
var userName = $('#username').val();
$.post("getUserName.PHP", {
userName: userName
}, function (data) {
$("#userNameCheck").html(data);
});
});
$('#addform').submit(function () {
//if the text is `You can use it` allow the form submit else block it
return $("#userNameCheck").html().trim() == 'You can use it';
});
});
还要确保在test2.PHP中进行相同的验证,因为客户端验证可以是侧面步骤.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。