2013-04-16 29 views
0

我有一個腳本,朋友給我寫了一個腳本,用來從文本文件中填充多個表單字段和日期列表。它調用腳本一次,並用特定的類名填充所有字段。當在IE7,8和9中填充列表時,腳本失敗

這很好,在Firefox,Chrome,Safari和IE10中完美運行。然而,該字段在IE7,8或9中顯示爲空白(未填充)。

任何人都可以提供的幫助將不勝感激。我正在使用的代碼如下:http://bespokebakery.co.uk/mailorder-birthday.html

在此先感謝!!:

<script type="text/javascript"> 

window.onload = function() { 
// call function to get list of options (call ONCE only) 
var dateOptions = getDateOptions(); 

// get all elements with class tstselect and set the content to dateoptions 
var els = document.getElementsByClassName('tstselect') ; 
for (var i=0; i<els.length; i++) { 
    if (els[i]) { 
     els[i].innerHTML = dateOptions; 
    } 
} 
}; 

function getDateOptions() { 
var url = 'dates.txt?'+new Date().getTime() 

var output = '' ; 
var txt=false; 
if (window.ActiveXObject){ 
    try { 
     txt=new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e){ 
     try { 
      txt=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     catch (e){ 
      alert(e); 
     } 
    } 
} 
else if (window.XMLHttpRequest){ 
    txt=new XMLHttpRequest(); 
} 
else { 
    return false; 
} 
txt.onreadystatechange=function(){ 
    if (txt.readyState==4&&(txt.status==200||window.location.href.indexOf("http")==-1)){ 
     var mydates = txt.responseText.split('\n'); 
     for (var i=0;i<mydates.length;i++){ 
      if (mydates[i]) { 
       // build up text string with all the options 
       output += '<option value="' + mydates[i] + '">' + mydates[i] + '</option>' ; 
      } 
     } 

    } 
} 
txt.open('GET',url,false); 
try { 
    txt.send(null); 
} 
catch (e){ 
} 

return output; 
} 
</script> 

在動作腳本的例子可以發現在

+2

歡迎來到stackoverflow。它在哪裏失敗? –

+7

你的問題的一部分是'getElementsByClassName()'... http://caniuse.com/getelementsbyclassname – canon

+4

你檢查了IE開發工具,看看是否有什麼錯誤被JavaScript拋出。 (按F12獲取開發工具窗口)。此外,您的鏈接會提供404錯誤。 – Spudley

回答

1

嗨選擇框上的innerHTML在IE中不起作用。請看下面的link。鏈接中的答案之一將給你所需的解決方案