Firefox または Chrome でこれら 2 つのフィドルを確認してください。この例ではrequired
、属性とsubmit
ボタンを備えた単純なフォームしかありません。ボックスが空のときに「送信」を押すと、スタイルが適用されますinvalid
(Firefox では赤いアウトライン)。ただし、送信を押して無効であることを示すまで待機します。
今これを試してみてください。いくつかのcssがあることを除いて、同じです:
input:invalid{
border-color:orange
}
今回を除いて、送信が押される前でもオレンジ色の境界線が適用されます。そのため、フォームのスタイルを手動で設定した場合にのみinvalid
、ブラウザーはそれを適用する前にそれを適用しますが、これは直感的な動作ではありません。もちろん、何かを入力する前に必須フィールドは無効になります。
これを修正する方法はありますか?