0

我有一个朋友为我编写的脚本,用于使用文本文件中的日期列表填充大量表单字段。它调用脚本一次,并使用特定的类名称填充所有字段。

这很好,并且在 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

提前致谢!!

4

1 回答 1

1

您好,选择框上的 innerHTML 在 IE 中不起作用。请查看以下链接。链接中的答案之一将为您提供所需的解决方案

于 2013-04-18T14:26:00.917 回答