最近、ブラウザ間の別の矛盾に遭遇しました。
Chrome では、送信ボタンが無効になっているフォームで、(テキスト入力で) Enter キーを押すと、送信がトリガーされます。例として、この簡単なページを作成しました: http://jsfiddle.net/andreitudor/s6EDX/1/
<form id="test" onSubmit="testForm()" >
<input type="text">
<input type="submit" disabled="disabled" >
</form>
これは IE9 でも発生しますが (問題ではありません)、Firefox と Opera では発生しません。
Chromeのバグだと思いますが、間違っているかもしれません。この種の行動は非常にイライラすることがあります。送信する前に検証したい入力 (メールアドレスなど) があるとします。この問題の回避策として、検証ロジックを onSubmit 関数に移動する必要があります。
それで、これはバグですか?そして、シンプルかつエレガントな方法でこれを超えるにはどうすればよいでしょうか? おそらくjQueryにはこれに対する修正がありますか?!