[解決済み] e.preventDefault()を呼び出した後に、フォームを送信する。
2022-02-07 21:03:54
質問
簡単なフォームバリデーションを行っているのですが、非常に基本的な問題で行き詰ってしまいました。名前と料理(夕食の申し込み用)のフィールドが5組あります。ユーザーは1~5組を入力することができますが、名前が存在する場合はentreeを選択する必要があります。コード
<form>
Name: <input name="atendeename[]">
Entree: <input name="entree[]"><br>
Name: <input name="atendeename[]">
Entree: <input name="entree[]"><br>
Name: <input name="atendeename[]">
Entree: <input name="entree[]"><br>
Name: <input name="atendeename[]">
Entree: <input name="entree[]"><br>
Name: <input name="atendeename[]">
Entree: <input name="entree[]"><br>
<input type="submit" value="Submit">
</form>
// Prevent form submit if any entrees are missing
$('form').submit(function(e){
e.preventDefault();
// Cycle through each Attendee Name
$('[name="atendeename[]"]', this).each(function(index, el){
// If there is a value
if ($(el).val()) {
// Find adjacent entree input
var entree = $(el).next('input');
// If entree is empty, don't submit form
if ( ! entree.val()) {
alert('Please select an entree');
entree.focus();
return false;
}
}
});
$('form').unbind('submit').submit();
});
エラーメッセージは出ているのですが、毎回フォームを送信してしまいます。この行に何か問題があるのは分かっています。
$('form').unbind('submit').submit();
...でも、何をすればいいのかよくわからない。
どのように解決するのですか?
最も簡単な解決策は
ではなく
コール
e.preventDefault()
バリデーションが実際に失敗しない限り。この行を内側の
if
ステートメントで、関数の最後の行を削除してください。
.unbind().submit()
.
関連
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] Array.forEachでbreakを呼び出すようなショートサーキット
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み] jQuery Ajax呼び出し後のリダイレクトリクエストを管理する方法
-
[解決済み] jQuery AJAX送信フォーム
-
[解決済み] jQueryの送信ボタンの無効化・有効化
-
[解決済み] ユーザーがEnterキーを押してフォームを送信できないようにする
-
[解決済み] 1つのフォームに2つの送信ボタンがある
-
[解決済み】enctype='multipart/form-data'とはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】Vueが定義されていない