我试图在一个输入表单的隐藏输入和复选框中分配一个新值。它在Firefox中工作正常,但在IE中不正常(我使用IE 7)。有谁知道我的代码有什么问题吗?
HTML。
<input type="hidden" id="msg" name="msg" value="" style="display:none"/>
<input type="checkbox" name="sp" value="100" id="sp_100">
Javascript:
var Msg="abc";
document.getElementById('msg').value = Msg;
document.getElementById('sp_100').checked = true;
金庸 - IE有一个污染全局范围的问题与任何在"name"或"id"属性设置上的DOM元素的对象引用。
因此,你可能会因为你的变量名称而产生问题。
试试这个,看看它是否有效。
var someOtherName="abc";
// ^^^^^^^^^^^^^
document.getElementById('msg').value = someOtherName;
document.getElementById('sp_100').checked = true;
有一个机会(在你的原始代码中),IE试图将输入的值设置为对该实际元素的引用(忽略错误),但却没有给你留下新的值。
请记住,在IE6/IE7中,大小写对于命名对象并不重要。IE认为"foo" "Foo" 和"FOO" 都是同一个对象。