私はまだjQueryを初めて使っているので、おそらく簡単な解決策がありますが、何も見つかりません。 私はこの登録フォームを作成しました。この登録フォームは、ユーザーがユーザー名を入力するときにユーザー名または電子メールが使用されるかどうかを確認します。基本的には、ユーザー名/電子メールがすでに取得されているかどうかによってtrueまたはfalseを返すjsonリクエストを作成します。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
あなたは大歓迎です! – CMS