2012-04-18 80 views
4
  1. 是否有可能得到一個JavaScript相關的錯誤只有在IE9與Windows 7專業版,而不是在與Windows企業版的IE9?
  2. 在32位Windows 7和64位Windows 7之間,IE9對JavaScript的行爲方式有什麼不同?

請幫我這個。完整的JavaScript功能如下。在IE9與Windows 7專業版,而不是在Windows 7企業版中的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變量必須爲true。這是真正的在IE9,Windows 7企業版(不知道32位或64位),它是虛假IE9,Windows 7專業版(32位)

道歉。在發現問題的確切機器上查看IE設置後,很明顯這是由於緩存。設置保留收藏夾網站數據保留舊的js文件並且不下載更新的版本(即使我們嘗試清除cookie,歷史記錄,臨時文件等)。一旦該設置未被選中 - 歷史記錄,緩存清除了一切開始工作。 乾杯,

+3

什麼是錯誤和什麼行代碼(加上一點上下文)造成它?正如問到的那樣,問題可以通過說「是」和「是」來回答。或者「不」和「不」。這兩個答案都不會幫助你或未來的訪問者。 – 2012-04-18 12:16:57

+1

你的意思是IE9與Windows 7獲取和IE9與其他操作系統沒有得到? – Sudantha 2012-04-18 12:17:16

+0

謝謝。當然我會發布代碼。 @Sudantha - 是的Windows 7專業版的IE9的作品。 IE9與Windows 7企業不起作用 – 2012-04-18 12:18:05

回答

2

道歉。在發現問題的確切機器上查看IE設置後,很明顯這是由於緩存。設置Preserve Favorites網站數據保留舊的js文件,並且不下載更新的版本(即使我們嘗試清除cookie,歷史記錄,臨時文件等)。一旦該設置未經檢查 - 歷史記錄,緩存清除一切開始工作

1

在不同的Windows版本應該沒有任何區別,因爲大多數時間你會使用32位ie。但你永遠不知道是什麼樣的錯誤是在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美分。