我在我的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”。这是怎么回事?我漏掉了什么吗?
如果我从字段中删除“value”属性,它也可以在IE9中工作。如果我切换到IE8渲染模式,它也可以在IE9中工作。
这是一个bug还是IE9比其他浏览器更符合标准?