javascript - HTML 表单默认值会覆盖 Internet Explorer 9 中发布时的实际值

标签 javascript html internet-explorer-9 forms http-post

我刚刚通过我的网站测试全新的 Internet Explorer 9 Beta。我发现某些表单值有奇怪的行为,我不确定这是我的错误还是 IE9 中的错误。你觉得怎么样?

我有一个表单,它声明了几个像这样的隐藏输入字段

<input type="hidden" name="NewStatus" />
<input type="hidden" name="lastSaveStatus" value="" />

提交页面时,值会像这样保存(在 JavaScript 中):

newStatus.setAttribute("value", myNewStatus);
var formLastStatus = document.getElementsByName("lastSaveStatus")[0];
formLastStatus.setAttribute("value", lastSaveStatus);
alert(lastSaveStatus);
alert(formLastStatus.getAttribute("value"));
var form = document.getElementById("myForm"); 
form.submit();

该代码已运行多年并适用于所有浏览器。 警报已经表明我现在的 lastSaveStatus 字段存在问题。 在 IE9 中,NewStatus 被正确传输到服务器(意味着我可以使用 Request.Form["NewStatus"] 访问 ASP.NET 中的值)。 但“lastSaveStatus”的值始终为“”。

如您所见,我在隐藏字段的定义中使用了 value=""。如果我删除此默认值,新值将正确传输到服务器。如果我使用默认值,则始终会传输默认值。

知道为什么会发生这种情况吗?

最佳答案

您确定这在以前版本的 IE 中有效吗?我在 IE/Win 中总是遇到该语法的问题,但是以下应该可以工作:

formLastStatus.value = lastSaveStatus;

以上内容也应该适用于所有浏览器。

关于javascript - HTML 表单默认值会覆盖 Internet Explorer 9 中发布时的实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724207/

相关文章:

html - 在 IE9 中调整图像像素化

testing - 使用 Selenium 测试不同文档模式下的 Internet Explorer

javascript - Coldfusion 中的字符限制警报在 IE 9 中提供多个弹出窗口

java - 在 Tomcat Web 应用程序中编辑 javascript 文件

javascript - JS 中的局部变量和全局变量

javascript - 迭代 mongo 游标以列出 Meteor Blaze 中的所有值?

jquery - 拖放 jquery 在 div 标签之间不起作用

javascript - 试图弄清楚为什么 Firefox 会发送未经请求的 FIN ACK 数据包

javascript - CKEditor文本编辑区的背景色如何根据文字颜色改变?

javascript - 在光滑的 slider 中居中图像