フォームに「送信」するためのイベントがあります。IE8 では、情報を入力せずにフォームを送信すると、送信ボタンをクリックするだけでフォームが投稿され、Backbone で定義されたイベントによってキャッチまたは処理されることはありません。ただし、入力フィールドをクリックするだけで、送信を押してイベントが処理されます。
バックボーン イベントは次のように設定されます。
events: {
'submit #form': 'submitForm',
},
submitForm: function(e){
e.preventDefault();
}
これはなぜでしょうか?
更新: フォームの例を次に示します。
<div id="form">
<form action="/action" method="post">
<input type="text" name="name" />
<button type="submit" value="Submit"></button>
</form>
</div>
文字通りIE8のみであり、送信する前にフォーム内の要素をクリックしない場合のみです。イベントは、FF、Chrome、IE9+ で問題なくトリガーされます。ただし、IE8 でのみ、他に何もせずに [送信] をクリックしただけでは、イベントはトリガーされません。