Web フォームに次のようなものがあります。
<input type="hidden" name="myField" value="defaultValue" />
後で、一部の Javascript で、ページをサーバーに送信する前にデフォルト値を上書きしています。
var formField = document.getElementsByName("myField")[0];
formField.setAttribute("value", "myNewValue");
var form = document.getElementById("myForm");
form.submit();
すべてのブラウザー (このコードは、IE5 から IE8、Firefox、Opera、Chrome、Safari などで何年にもわたってテストしました) は、"myNewValue" をサーバーに送信しています。IE9 以外: 「defaultValue」を送信します。何が起きてる?何か不足していますか?
フィールドから「値」属性を削除すると、IE9 でも機能します。IE8 レンダリング モードに切り替えると、IE9 でも動作します。
これはバグですか、それとも IE9 は他のブラウザよりも標準に準拠していますか?