如果用户名已经存在,则使用ajax和php禁用提交按钮

时间:2013-07-28 16:10:12

标签: php ajax submit

我有一个代码,用于检查数据库中是否有用户名,代码可以显示电子邮件已存在的错误消息但是当我按下提交按钮时,它会在数据库中插入用户名,即使用户名已存在。

这是我的代码:

function validateForm(){
<script>
$(document).ready(function () {
    $("#Name").change(function () {
        var username = $("#Name").val();
        var msg = $("#msg");
        if (username.length > 2) {
            $("#msg").html('Checking availability');
            $.ajax({
                type: "POST",
                url: "check_availability.php",
                data: "Name=" + username,
                success: function (messagess) {
                    $("#msg").ajaxComplete(function (event, request) {
                        if (messagess.indexOf('OK') > 0) {
                            $("#Name").removeClass("exists");
                            $("#Name").addClass("avail");
                            msg.html('the user name is available</font>');
                        } else {
                            $("#Name").removeClass("avail");
                            $("#Name").addClass("exists");
                            msg.html('the user name is already exists');
                        }
                    });
                }
            });
        }
    });
});
}
</script>
</head>
<body>

<form action="" method="post" name="form" onsubmit="return validateForm()">    
User Email:&nbsp;
<input type="text" name="Name" id="Name" value="" />
<span id="msg"></span>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

如果检查返回用户名已存在,您将要在要禁用的元素上使用.attr('disabled', 'disabled')。要删除停用功能,您将使用.removeAttr('disabled')

只是一个建议,如果你还没有投入后备php验证检查,如果javascript被禁用,那么仍然有验证。