在IE7, 8和9中填充列表时脚本失败

Script fails when populating a list in IE7, 8 and 9

本文关键字:列表 填充 脚本 失败 IE7      更新时间:2023-09-26

我有一个朋友为我写的脚本,用文本文件中的日期列表填充许多表单字段。它调用脚本一次,并用一个特定的Class名填充所有字段。

这很好,在Firefox, Chrome, Safari和IE10中都可以完美地工作。然而,该字段在IE7、8或9中显示为空白(不填充)。

任何人能给予的帮助都将是非常感激的。我使用的代码如下:

<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>

脚本的示例可以在http://bespokebakery.co.uk/mailorder-birthday.html

找到。

提前感谢!!

Hi innerHTML上的选择框将无法在IE中工作。请查看以下链接。链接中的一个答案会给你所需的解决方案