这javascript语句写错了吗?

来源:百度知道 编辑:UC知道 时间:2024/06/16 11:53:07
如下函数中,onclick='closepopWindow("+tiframe+");是调用下面的closepopwindow函数,但老是错误,提示缺少对象。如果把("+tiframe+")替换成实际的名称,或者外部应用closepopWindow函数,如closepopWindow('rtiframe')则正确。请问是否我这句话写的不对?
---
function showpopBox(wTitle,content,pos,wWidth,tiframe)
{

.....
popW.innerHTML="<div class='popWindowTop'><input type='button' onclick='closepopWindow("+tiframe+");' title='关闭' class='closebtn' value='X' />;"
......
}

//关闭窗口
function closepopWindow(tiframe){
if(document.getElementById('popWindow')!=null)
{
document.getElementById('popWindow').parentNode.removeChild(document.getElementById('popWindow'));
}
if(isIe){
setSelectState('');
setifSelectState('',tiframe);}
}
几位给的答案都不是太正确。
1、pouper说的加引号,因为tiframe是个变量,所以不需要。
2、xiliantian说的加引号,其实在调用这个函数时:showpopBox(

楼上的写法都或多或少有些小问题~
1、你的这个tiframe是不是对象?如果是对象的话,那这样的写法自然是不对的,因为,对象打到前台页面形成html代码的时候是不能被正确解析的,最多是个"[object]",所以,这里应该是指向对应object的字符串,比如id或name
2、如果为字符串,那么你这么写也不正确,虽然tiframe是参数,不是实际值,可是,在形成html到innerHTML之后,它就变成一个实际值了,必须要加引号,正确写法应该是这样的:
popW.innerHTML="<div class='popWindowTop'><input type='button' onclick='closepopWindow(\'"+tiframe+"\');' title='关闭' class='closebtn' value='X' />;"

onclick='closepopWindow(tiframe);
如果是直接调用的参数话直接用就好,
如果真的需要引号的话试下这样
onclick='closepopWindow('tiframe');'

onclick='closepopWindow('"+tiframe+"');

加引号嘛

如果tiframe是一个变量,那么就不用加引号也不用+连接