0
我有一個代碼,將檢查用戶名是否在數據庫中可用,代碼可以顯示錯誤消息,該電子郵件已存在,但當我按下即使用戶名已經存在,提交按鈕也會在數據庫中插入用戶名。禁用提交按鈕,如果用戶名已經存在使用AJAX和PHP
這裏是我的代碼:
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:
<input type="text" name="Name" id="Name" value="" />
<span id="msg"></span>
</form>
</body>
</html>
總是檢查服務器端。即使使用JavaScript驗證,也很容易繞過該驗證。如果用戶名已被使用,則在服務器端發送錯誤。不要僅僅依靠來自客戶端的數據來驗證。 – Anigel
此外,請使用我們的搜索功能。參見[如何使用jquery禁用提交按鈕](http://stackoverflow.com/q/1237896/911182) – Herbert