微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 使用提交按钮实时检查可用性

> 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阿布
>从上面:
=&GT在文本框中键入“ali” – >显示“你可以使用它”绿色的消息.
=&GT在文本框上键入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] 举报,一经查实,本站将立刻删除。

相关推荐