我的网络表单中有这样的内容:
<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 比其他浏览器更符合标准?