最近HTML5 jQueryプラグインを開発しましたが、FF4ベータ版の必須フィールドの赤い境界線を削除できません。
FFは必須フィールドにこの境界線/アウトラインを適用し、値が設定されると削除することに気付きました。問題は、古いブラウザで値属性を使用してプレースホルダーattrをエミュレートしていることです。したがって、赤い線が表示されないようにするには、この機能を備えたすべての入力が必要です。
プラグインはこちら のデモページで問題を確認できます
CSSで利用できる新しいHTML5フォーム機能のいくつかの新しい擬似セレクターがあります。おそらく:invalid
。以下は、すべて MDC Firefox 4 docs からのものです。
:invalid
CSS擬似クラスは、入力のタイプ設定に従って内容が検証されない要素に自動的に適用されます
:-moz-submit-invalid
疑似クラスは、1つ以上のフォームフィールドが検証されない場合に、フォームフィールドの送信ボタンに適用されます。
:required
擬似クラスは、必須属性を指定するフィールドに自動的に適用されるようになりました。 :optional
擬似クラスは、他のすべてのフィールドに適用されます。
:-moz-placeholder
疑似クラスが追加され、フォームフィールドのプレースホルダーテキストのスタイルを設定できるようになりました。
:-moz-focusring
擬似セレクターを使用すると、要素にフォーカス表示をレンダリングする必要があるとGeckoが判断した場合に、要素の外観を指定できます。
具体的には、そのスタイルを入力コントロールに適用する必要があります。
input:invalid {
box-shadow: none;
}
このコードをすばやく簡単なソリューションとして使用する
:invalid {
box-shadow: none;
}
:-moz-submit-invalid {
box-shadow: none;
}
:-moz-ui-invalid {
box-shadow:none;
}
参照: https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid
必要なinput
をform
属性を持つnovalidate
にラップします
<form novalidate>
<input required>
</form>
これを試してください、
$( "form")。attr( "novalidate"、true);
グローバル.jsファイルまたはヘッダーセクションのフォーム用。