我對jQuery仍然很陌生,所以可能有一個簡單的解決方案,但我找不到任何東西。 我已經制作了這個註冊表單,用於檢查用戶名或電子郵件是否在用戶輸入用戶名時被採用。基本上,它只是使一個json請求返回true或false取決於用戶名/電子郵件是否已被採取。jquery ajax實時驗證/超時問題
現在的問題是,如果輸入的文本長度超過3個字符,它現在會基本上提示用戶在關注該字段時所做的每個按鍵請求。目前來說,這是可行的,但這是很多服務器請求。我希望它只在用戶沒有鍵入時才發出請求,例如半秒。
關於我如何能夠做到這一點的任何想法?
$(document).ready(function() {
$("#user_username").keyup(function() {
var ln = $(this).val().length;
if (ln > 3) {
$.getJSON("/validate/username/",
{value:$(this).val()},
function(data){
if (data.reg == true) {
$("#status-for-username").html("Username already in use");
} else {
$("#status-for-username").html("Username available");
}
});
}
});
$("#user_email").keyup(function() {
var ln = $(this).val().length;
if (ln > 3) {
$.getJSON("/validate/email/",
{value:$(this).val()},
function(data){
if (data.reg == true) {
$("#status-for-email").html("E-mail already in use");
} else {
$("#status-for-email").html("");
}
});
}
});
});
謝謝,這正是我正在尋找的。 – gvidou 2009-08-23 18:42:01
不客氣! – CMS 2009-08-23 19:11:29