フォームフィールドで必須が定義されている場合、Firefox 4は、ユーザーが送信ボタンを押す前であっても、この要素に赤い境界線を自動的に表示します。
<input type="text" name="example" value="This is an example" required />
ユーザーは最初は間違いを犯していないので、これはユーザーを悩ませていると思います。
初期状態ではその赤い境界線を非表示にしますが、必要に応じてマークされていないフィールドがある場合、ユーザーが送信ボタンを押すと表示されます。
私は見た :required
および:invalid
新しい擬似セレクターから。ただし、変更は検証の前後と後に対するものです。 ( Firefox 4必須の入力フォームREDボーダー/アウトライン )
ユーザーがフォームを送信する前に赤い境界線を無効にし、不足しているフィールドがある場合に表示する方法はありますか?
これは少しトリッキーでしたが、私はこの例を設定しました: http://jsfiddle.net/c5aTe/ これは私のために働いています。基本的に、トリックは無効なプレースホルダーテキストを回避するようです。そうでなければ、これを行うことができるはずです:
input:required {
box-shadow:none;
}
input:invalid {
box-shadow:0 0 3px red;
}
または類似のもの...
[〜#〜] but [〜#〜]FF4はプレースホルダーテキストを検証することを決定したため(理由はわかりません...) (少しハック-!important
を使用)が必要です。
お役に立てば幸いです!
[〜#〜] edit [〜#〜]
Doh !!-私は愚かな気分だ。フィドルを更新しました: http://jsfiddle.net/c5aTe/2/ -:focus
疑似クラスを使用して、ユーザーがタイピング。これは、アイテムがフォーカスを失ったときにコンテンツが無効な場合でも赤で強調表示されますが、設計された動作でできることはあまりないと思います...
HTH :)
OPのリクエストでの例の概要(最初の2つはFF4専用に設計されていることに注意してください-Chromeではありません)
Firefox 26の時点で、無効な必須フィールドを識別するために使用される実際のCSSは次のとおりです(forms.cssから取得)。
:not(output):-moz-ui-invalid {
box-shadow: 0 0 1.5px 1px red;
}
他のブラウザで複製するには、次を使用します。
input:invalid {
box-shadow: 0 0 1.5px 1px red;
}
ピクセル設定をいじってみましたが、mozソースを見なくても1.5pxを推測することはありませんでした。
無効にするには、次を使用できます。
input:invalid {
box-shadow: none;
}
私にとっては非常に簡単な解決策があります。基本的に、basicallyい赤を非常に良い青に変更しました。これは、不要なフィールドの標準色であり、Webの規則です。
:required {
border-color: rgba(82, 168, 236, 0.8);
}
試してください:
document.getElementById('myform').reset();
これは私にとってはうまくいきました:
input:invalid {
-moz-box-shadow: none;
}
これを試してください、
$( "form")。attr( "novalidate"、true);
グローバル.jsファイルまたはヘッダーセクションのフォーム用。