function Init(id) {
txtcorpname = document.getElementById("name");
dataShow = document.getElementById("dataShow");
var p = getAbsPoint(name);
dataShow.style.left = p.x + 'px';
dataShow.style.top = p.y + name.offsetHeight + 'px';
name.onclick = dataShow.onclick = function (e) {
e = e || event;
var t = e.target || e.srcElement if (t.tagName.toLowerCase() == 'li') {
name.type = 'text'; //为元素指定类型
name.value = t.innerHTML.replace(/<.+?>/gim, '').replace(/^\s+|\s+$/g, "");
dataShow.style.display = "none";
return;
}
if (e && e.stopPropagation) {
//W3C取消冒泡事件
e.stopPropagation();
} else {
//IE取消冒泡事件
window.event.cancelBubble = true;
}
};
document.body.onclick = function (e) {
dataShow.style.display = "none";
};
};
function getSearchKeys() { var s = name.value;
if (s == '') {
dataShow.style.display = "none";
return;
}
var arr = ['<ul>'];
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf(s) >= 0) {
arr.push('<li>' + keys[i] + '</li>');
}
} if (arr.length > 1) {
arr.push('</ul>');
dataShow.innerHTML = arr.join('');
dataShow.style.display = "block";
} else {
dataShow.style.display = "none";
}
}上述代码在其它ie版本和Mozilla Firefox都没有问题,但是在ie8种出错,指向dataShow.innerHTML = arr.join('');这一句。
怎么办?
txtcorpname = document.getElementById("name");
dataShow = document.getElementById("dataShow");
var p = getAbsPoint(name);
dataShow.style.left = p.x + 'px';
dataShow.style.top = p.y + name.offsetHeight + 'px';
name.onclick = dataShow.onclick = function (e) {
e = e || event;
var t = e.target || e.srcElement if (t.tagName.toLowerCase() == 'li') {
name.type = 'text'; //为元素指定类型
name.value = t.innerHTML.replace(/<.+?>/gim, '').replace(/^\s+|\s+$/g, "");
dataShow.style.display = "none";
return;
}
if (e && e.stopPropagation) {
//W3C取消冒泡事件
e.stopPropagation();
} else {
//IE取消冒泡事件
window.event.cancelBubble = true;
}
};
document.body.onclick = function (e) {
dataShow.style.display = "none";
};
};
function getSearchKeys() { var s = name.value;
if (s == '') {
dataShow.style.display = "none";
return;
}
var arr = ['<ul>'];
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf(s) >= 0) {
arr.push('<li>' + keys[i] + '</li>');
}
} if (arr.length > 1) {
arr.push('</ul>');
dataShow.innerHTML = arr.join('');
dataShow.style.display = "block";
} else {
dataShow.style.display = "none";
}
}上述代码在其它ie版本和Mozilla Firefox都没有问题,但是在ie8种出错,指向dataShow.innerHTML = arr.join('');这一句。
怎么办?
解决方案 »
- ascx的页面的CodeFile定义的cs文件获取不到ascx页面的asp:Literal控件
- 求教见图:.CS控制台应用程序中的窗口关闭提示和直接用xaml窗口编辑的区别。。
- 以下代码问题不知道出在哪可否请高手指教
- 内存映射后,调用UnmapViewOfFile后为什么会ERROR_ALREADY_EXISTS
- 截取中间的字符串
- webservice是否可以接收QueryString参数?!如何以get的方式传递数据给webservice?!
- 求助求助 ,c#如何调用一个c++写的控件啊?!~~
- web service 调用问题(急)
- 最高分求VISUAL STUDIO 2005 BETA1下载
- 哪位高手有C#winfrom 基于模板导出Excel的代码
- WinForm之间传值问题
- 如何用c#读取邮箱服务器里面的邮件标题跟内容
<div id="dataShowXX"
var dataShow = document.getElementById("dataShow");var arr = ['<ul>'];
arr.push('<li>' +'5' + '</li>');
arr.push('</ul>');
dataShow.innerHTML=arr.join('');
</script>ie8下测试通过。
前面加个var
var dataShow = document.getElementById("dataShow");var arr = ['<ul>'];
arr.push('<li>' +'5' + '</li>');
arr.push('</ul>');
dataShow.innerHTML=arr.join('');
</script>单独测这个能通过吗?
其他类似的也加var了吗?
这段我测试过了,在我的机器上ie8也能通过
附上全部代码:
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
//以下为企业名称取值
var myname;
var dataShow;function callServer(id) {
Init(id);
var url = "getcorp.aspx?myname=" + escape(myname.value);
xmlHttp.open("get", url, true); //建立新请求
xmlHttp.onreadystatechange = updatePage; //指定回调方法
xmlHttp.send(null);
}var keys = new Array();
function updatePage() { if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
keys = xmlHttp.responseText.split(','); //ajax返回的数据
getSearchKeys();
}
}
}
function Init(id) {
myname = document.getElementById("myname");
dataShow = document.getElementById("dataShow");
var p = getAbsPoint(myname);
dataShow.style.left = p.x + 'px';
dataShow.style.top = p.y + myname.offsetHeight + 'px';
myname.onclick = dataShow.onclick = function (e) {
e = e || event;
var t = e.target || e.srcElement if (t.tagName.toLowerCase() == 'li') {
myname.type = 'text'; //为元素指定类型
myname.value = t.innerHTML.replace(/<.+?>/gim, '').replace(/^\s+|\s+$/g, ""); //为元素添加值可用innerHTML.replace(/<.+?>/gim,'')去除标签,用replace(/^\s+|\s+$/g,"")去空格
dataShow.style.display = "none";
WritedataText()
return;
}
if (e && e.stopPropagation) {
//W3C取消冒泡事件
e.stopPropagation();
} else {
//IE取消冒泡事件
window.event.cancelBubble = true;
}
};
document.body.onclick = function (e) {
dataShow.style.display = "none";
};
};
function getSearchKeys() { var s = myname.value;
if (s == '') {
dataShow.style.display = "none";
return;
}
var arr = ['<ul>'];
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf(s) >= 0) {
arr.push('<li>' + keys[i] + '</li>');
}
} if (arr.length > 1) {
arr.push('</ul>');
dataShow.innerHTML = arr.join('');
dataShow.style.display = "block";
} else {
dataShow.style.display = "none";
}
}function getAbsPoint(e) {
var x = e.offsetLeft;
var y = e.offsetTop;
while (e = e.offsetParent) {
x += e.offsetLeft;
y += e.offsetTop;
}
return { "x": x, "y": y };
}
中是不是要重新取啊
加上 myname = document.getElementById("myname");
dataShow = document.getElementById("dataShow");
最好变量和ID严格区分开来,别给自己找麻烦