jQueryを使用して以下のようなコードを作成しましたが、submitがreturn falseされなくて困っています。
ajax通信が終了しないうちに「if($('span.error').size() > 0)」が判断されているためだと思われるのですが、うまくsubmitされないようにする方法はあるでしょうか?
ajaxCompleteとか使って考えてもみましたが。どうしてもできません。どなたかご教示お願い致します。
$(function(){
$('#registerInputMailAddress').submit(function(){
isUniqueMail();
if($('span.error').size() > 0){
return false;
}
})
});
function isUniqueMail(){
mailError = '';
if($('#uniqueMail').val() == ''){
mailError += '入力してください。<br />';
}
if($('#uniqueMail').val().length > 50){
mailError += '50文字以内で入力してください。<br />';
}
if(isInvalid($('#uniqueMail').val())){
mailError += '無効な文字が含まれています。<br />';
}
if($('#uniqueMail').val() != '' && !$('#uniqueMail').val().match(/.+@.+\..+/g)){
mailError += '形式が間違っています。<br />';
}
$.post(
'/register',
{mail: $('#uniqueMail').val()},
function(rs){
if(rs == 'not unique'){
mailError += '既に会員登録に利用されています。<br />';
}
if(mailError == ''){
$('#mailError').html('<span class="ok">ok</span>');
}else{
$('#mailError').html('<span class="error">'+mailError+'</span>');
}
}
);
}
No.1ベストアンサー
- 回答日時:
jQueryの簡易化されたajax関連のメソッドは非同期通信を行っているので、
面倒でもpost部分をjQuery.ajaxで実装し、同期通信(async:false)指定すればよいのかと。
http://semooh.jp/jquery/api/ajax/jQuery.ajax/opt …
またはフォームの送信ボタンをsubmit→buttonに変更し、onclickでチェック、
okならsubmit()を実行するとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jslintのエラーについて質問
-
function(e)の意味を教えてくだ...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
関数名をテキストから読み込む...
-
if文等のブロック内での関数宣...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
onchangeイベントを使ってspan...
-
同じIDで定義した要素の配列を...
-
1日1回引けるJavaScriptおみく...
-
Click回数を数え、規定された回...
-
canvas上で画像を移動する方法...
-
C# .NET DataGridView の行を追...
-
var_dumpのdump意味はを知りた...
-
googleスプレッドシートのApps ...
-
javascriptで文字挿入でtoggle...
-
javascript 特定のタグのidの存...
-
GASでundefinedエラーが出ます
-
FireFoxのjavascriptで自動でキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
functionから別のfunctionを実...
-
idを使わずにonclickで自身の要...
-
関数でy=g(x)のgとは何の略です...
-
jslintのエラーについて質問
-
jQueryの :not() .not() が有効...
-
クリックすると上に開くアコー...
-
jQueryのプラグイン「Skitter」...
-
関数名をテキストから読み込む...
-
小数点以下を5刻みで表示
-
XMLHttpRequestでキャッシュを...
-
jQueryでzipを解凍読み込みする...
-
Matlabで自作関数をオーバーロード
-
javascript(jQuery)でセル内...
-
要素名がスペースを含む場合のj...
-
ページ内に複数表がある場合のT...
-
処理前の「お待ちください」
-
JS 頭文字が大文字について
-
HTML5でファイルドラッグ&ドロ...
-
Javascriptリアルタイムエラー...
-
getElementByIdを使用したグロ...
おすすめ情報