メールアドレスフィールドを持つプロファイル作成フォームがあります。ユーザーが入力したメールアドレスが有効な形式であり、まだ使用されていないことを確認する必要があります。フォーマットチェックのために、私はisValidEmailAddress関数によって実行される単純なクライアント側の検証を持っています。これはうまく機能します。電子メールアドレスがまだ存在しないかどうかを確認する必要がある他の部分については、電子メールがすでに誰かによって使用されている場合に文字列「電子メールアドレスはすでに使用されています」を返すコントローラーメソッドにjquery投稿を行います。最初の「returnfalse」の下のコードは、フォームの送信を停止していません。これは非同期のものであるjqueryですか?
$(document).ready(function(){
$("#new_profile").submit(function(){
var email = $("#user_email").val();
if(isValidEmailAddress(email)){
jQuery.post('/profiles/validate_email', {email: email}, function(data){
if(data.match(/in use/)){
$(".email-check-message").html(data);
return false;
}
});
}
else{
$(".email-check-message").html('please enter a valid email address');
return false;
}
});
});
また、上記の関数のjquery投稿が機能していないようです。サーバーログにサーバー呼び出しが発生していないようです。誰が何が起こっているのか知っていますか?ありがとう。