在IE7, 8和9中填充列表时脚本失败
Script fails when populating a list in IE7, 8 and 9
我有一个朋友为我写的脚本,用文本文件中的日期列表填充许多表单字段。它调用脚本一次,并用一个特定的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中工作。请查看以下链接。链接中的一个答案会给你所需的解决方案
相关文章:
- 由vbscript下拉列表填充的经典asp-javascript数组
- JQuery以基于另一个选择列表填充选择列表
- 使用 ajax 和 JSP Servlet 根据选择的上一个下拉列表填充下拉列表
- 根据 Wordpress 页面中的第一个下拉列表填充第二个下拉列表
- 用下拉列表填充数字数组
- 从 XML 列表填充的 ASP 下拉列表如何添加工具提示
- 根据选择的其他下拉列表填充一个下拉列表
- 用如何刷新列表填充 jquery 页面
- 动态创建选择元素并从 SharePoint 列表填充选项
- 用值列表填充文本框的最佳方法是使用java脚本或jquery双击
- 用多个列表填充jquery select下拉表单
- 根据下拉列表填充和禁用文本字段
- 用下拉列表填充HTML页面
- Javascript将列表填充到html中,选择重复列表两次
- 如何使用下拉列表填充文本框
- 根据上一个下拉列表填充下拉列表
- js:从列表填充关联
- 使用已填充下拉列表填充文本框
- 用java中Action的对象列表填充jqgrid中的表
- 如何将活动目录中的电子邮件组列表填充到数组中