[解決済み] jQueryを使ったフォームバリデーションの手動トリガー
2022-09-05 12:58:34
質問
いくつかの異なるフィールドセットを持つフォームがあります。フィールドセットを一度に1つずつユーザーに表示するjQueryを持っています。HTML5 の検証をサポートするブラウザのために、私はそれを利用したいと思います。しかし、私の条件でそれを行う必要があります。私はJQueryを使用しています。
ユーザーが次のフィールドセットに移動するためにJSリンクをクリックすると、現在のフィールドセットで検証が行われ、問題がある場合はユーザーが先に進むのをブロックする必要があります。
理想的には、ユーザーが要素へのフォーカスを失うと、検証が行われます。
現在、novalidateが動作しており、jQueryを使用しています。ネイティブメソッドを使用することを希望します。)
どのように解決するのですか?
ネイティブの検証UIを起動することができません。
(下記の編集を参照) を起動させることはできませんが、任意の入力要素でバリデーションAPIを簡単に利用できます。
$('input').blur(function(event) {
event.target.checkValidity();
}).bind('invalid', function(event) {
setTimeout(function() { $(event.target).focus();}, 50);
});
最初のイベントは
checkValidity
が発生します。
invalid
であれば、対応するイベントが発生し、2番目のイベントハンドラによって捕捉されます。 これはフォーカスを要素に戻すものですが、かなり煩わしいので、エラーについて通知するためのより良い解決策を持っていると仮定します。
上記のコードの実行例です。
.
EDITです。
すべてのモダンブラウザ
サポート
は
reportValidity()
メソッドは、ネイティブ HTML5 検証のために
この回答
.
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み] divの内容を下に揃える方法
-
[解決済み] div内の要素を縦に並べるにはどうしたらいいですか?
-
[解決済み] CSS背景のストレッチとスケール
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTMLにおける'"'エンティティの使用法
-
[解決済み] input type="button "に背景画像を追加するには?
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] WebSocketとサーバー送信型イベントの比較/EventSource
-
[解決済み] 複数のノンブレイキングスペース("nbsp")ではなく、タブスペースを使用しますか?
-
[解決済み] フレックスアイテムを右寄せにするには?
-
[解決済み] preタグでテキストを折り返すにはどうしたらよいですか?
-
[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
-
[解決済み] CSSでdivを縦にスクロールできるようにする