次のHTMLがある場合
<input type="text" name="Text1" value="MyText" id="Text1"/>
ページの後に次のJavaScriptコードを実行すると
var text = document.getElementById("Text1");
text.defaultValue = "i am default value";
これは、入力フィールドの defaultValue を設定します。ブラウザーに応じて 2 つの異なる反応が得られます。IE9 では、値は変更されませんが、デフォルト値が変更されます。これは、実際に期待される動作です。Chrome (および Firefox) では、値と defaultValue の両方が変更されます。なぜ?ただし、この JavaScript を実行すると
var text = document.getElementById("Text1");
text.value = text.value; // No functional change, however triggers something in the DOM
text.defaultValue = "i am default value";
その後、期待どおりに動作します。つまり、Chrome で変更されるのは defaultValue のみです。
Chrome (および Firefox) を IE9 のように実行する理由と方法についてのアイデアはありますか?