jQueryを使用して多くの「タブ」に分割されたフォームを作成しました。さまざまなタブに表示されるフィールドがあります。Google chrome jQueryタブを使用して「無効なフォームコントロールにフォーカスがない」
フォームのすべてのフィールドのいくつかが必要とされ、所定の位置に彼らの小切手を持っている、いくつかの最小値を持っている必要がありますが、その他
しかし、私はそれらの場合、フィールドに無効な値でフォームを送信しようとすると、フィールドが現在と異なるのタブの下に、私はGoogleのクロムからコンソールにエラーを取得している:
無効なフォームコントロールは
フォーカス可能ではありませんが、ユーザーは何の効果も見ない、またすることができますの/彼は間違ったフィールドを見つけるsiそれはブラウザによって強調表示されていません。彼らはすべて(フィールドに正しい名前を与えることを言う、しかし
- An invalid form control with name='' is not focusable
- "Invalid form control" only in Google Chrome
- An invalid form control with name='' is not focusable. WITHOUT ANY REQUIRED OR HIDDEN INPUTS
:
は、私はすでに、次の質問に対する回答を読んだことがあります既に完了している)、または「必須属性」を削除する(それを行うことはできません。理由があります)。
私はサーバー側の検証も行っていることを強調したいと思います。したがって、これはこの質問のトピックではありません。
エラーを回避しながら、HTML5検証をフォームに保存するにはどうすればよいですか?
EDIT:あなたはすぐにフォームをGoogle Chromeでそれをロードし、提出する場合には、実際のフォームよりはるかに簡単であるにも関わらず、私が説明しています何の例を見つけることができます
、あなた」あなたのコンソールにエラーが表示されます。<form id="form_tabs" name="form_tabs" method="post" action="">
<div id="tabs" class="ui-tabs">
<ul>
<li><a rel="tabs" href="#tab1">FIRST TAB</a></li>
<li><a rel="tabs" href="#tab2">SECOND TAB</a></li>
</ul>
<div id="tab1" class="ui-tabs-hide">
<input type="text" name="text1" id="text1" value="" placeholder="I am NOT required"/>
</div>
<div id="tab2" class="ui-tabs-hide">
<input type="text" name="text2" id="text2" value="" placeholder="I REALLY am required!" required="required"/>
</div>
</div>
<br/>
<button type="submit" value="submit">
SEND FORM
</button>
</form>
私はまた、問題を示すためにフィドルを作成しようとしています。 –
このエラーが発生するのはタブを使用しているためです。現在表示されていないタブは 'display:none'に設定されています。ブラウザはこのような隠しタブ内でフォームフィールドをフォーカスすることはできません。 //タブを使用する場合は、JSとは別に各タブでバリデーションを行う必要があります。そうでなければ、まずは悪いUXだと思います。 – CBroe
私はそれが起こる理由を知っていますが、可能であれば現在のUIとHTML5のチェックを維持したいだけです。ちょうどエラーを横取りして正しいタブを表示してください。 –