4
  1. 是否有可能只在带有 Windows 7 Professional 的 IE9 中而不是在带有 Windows Enterprise 的 IE9 中出现与 javascript 相关的错误?
  2. 在 32 位 Windows 7 和 64 位 Windows 7 之间,IE9 对 javascript 的行为方式有什么不同吗?

请帮我解决一下这个。完整的javascript函数如下。

function foo() {
    var isChecked = false;
    var checkBoxField = "MyCheckBox1";
    for(j=0;j<document.forms[0].elements.length;j++) {
        if(document.forms[0].elements[j].name.search(checkBoxField) == 0) {
            if (document.forms[0].elements[j].checked == true) { 
                isChecked = true;
            }
        }
    }
    alert(isChecked);
}

检查 checkBoxField 时,isChecked 变量必须为真。在 IE9-Windows 7 企业版(不确定 32 位或 64 位)中为真,在 IE9-Windows 7 专业版(32 位)中为

道歉。在查看问题发生的确切机器中的 IE 设置后,很明显这是由于缓存造成的。Preserve Favorites website data设置保留旧的 js 文件并且不下载更新版本(即使我们尝试清除 cookie、历史、临时文件等)。一旦取消选中该设置 - 历史记录,缓存清除一切开始工作。干杯,

4

2 回答 2

2

道歉。在查看问题发生的确切机器中的 IE 设置后,很明显这是由于缓存造成的。Preserve Favorites website data 设置保留旧的 js 文件并且不下载更新版本(即使我们尝试清除 cookie、历史、临时文件等)。一旦取消选中该设置 - 历史记录,缓存清除一切开始工作

于 2012-05-30T12:54:12.967 回答
1

不同的 Windows 版本应该没有任何区别,因为大多数时候您将使用 32 位即。但是你永远不知道 ie javascript 中有什么样的错误

你可以尝试的是使用jquery 你的代码看起来像

function foo() {
    var isChecked = $("name='MyCheckBox1':first").attr('checked');      
    alert(isChecked);
}

将您的复选框 id 设置为 MyCheckBox1 并进一步简化

function foo() {
    var isChecked = $("#MyCheckBox1").attr('checked');      
    alert(isChecked);
}

不确定它是否会帮助你,但这是我的 20 美分。

于 2012-04-20T03:20:22.423 回答