次に例を示します:http://jsfiddle.net/7g8GD/1/
無効な入力を入力してEnterキーを押すと、「メールアドレスを入力してください」が返されますが、入力を変更せずにもう一度Enterキーを押すと、検証は無視され、入力が有効であるかのようにフォームが続行されます。
ここでの問題は何ですか?
(サーバーでこれを使用すると、問題はIE9でのみ発生し、Chromeでは発生しませんが、jsFiddleでは両方で発生します)
無効な入力を入力してEnterキーを押すと、「メールアドレスを入力してください」が返されますが、入力を変更せずにもう一度Enterキーを押すと、検証は無視され、入力が有効であるかのようにフォームが続行されます。
ここでの問題は何ですか?
(サーバーでこれを使用すると、問題はIE9でのみ発生し、Chromeでは発生しませんが、jsFiddleでは両方で発生します)
コードに多くの矛盾や懸念事項があり、問題の解決がはるかに困難になっています。冗長セレクター(.class #id
)、セマンティック要素の欠如(<input type="submit" />
)、不要な変数および条件ステートメント(if (...) { } else { if (...) {} }
、など)。
電子メールを検証し、フォームが送信されないようにするという非常に基本的な要件に至るまで、問題を単純化することをお勧めします。
適切なフォームコントロールを使用して、はるかに単純な方法でロジックを含めました。これは、期待どおりに機能します。
これは直接的な解決策ではありませんが、少なくとも何を目指して努力すべきかを示し、最終的には問題の解決に役立つことを願っています。