为什么我在里添加的onclick事件,本地项目能用,上传到服务器就不能用了?

时间:2022-09-29 13:23:11

//往数组里添加数据
            aText[0]=document.createElement( "a");
            aText[0].href="#";
            aText[0].appendChild(document.createElement("<img src=\"../images/del.gif\" />"));
            aText[0].setAttribute("name",trid);
            aText[0].setAttribute("onclick", function () { deleteTable(this.name); });

我动态生成的表格。在本地运行可以调用这个事件,但是传到服务器就不能用了,报了一个错:

网页错误详细信息

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)
时间戳: Wed, 27 Apr 2011 08:22:40 UTC


消息: 'object' 未定义
行: 1
字符: 1
代码: 0
URI: http://192.168.1.122/Sale/SaleBillAdd.aspx?PurchaseOrderID=XS-2011042700001&uid=320203



求各位GS帮帮忙..

14 个解决方案

#1


呃...我想应该是 aText[0].href="#"; 引起的onclick不能调用吧!
各位看一看,明天我来看一下,有答案了就结贴!
 

#2



没用到herf。。。那可以不设置这个属性啊。。

试试不加或。。。。href="javacript:void(0);"

#3


引用 1 楼 q552727411 的回复:
呃...我想应该是 aText[0].href="#"; 引起的onclick不能调用吧!
各位看一看,明天我来看一下,有答案了就结贴!

除非你的字符串转义问题,否则不应该是它
你的JS是怎么输出的页面的,Response.Write()?
消息: 'object' 未定义
行: 1
字符: 1
代码: 0

感觉好像根本不认得你的输出,改成服务端向客户端注册的方式
Page.ClientScript.RegisterStartupScript

#4


href="javacript:void(0)";
同意这个

#5


呵呵,在此谢谢各位了,我会挨个试试!但是上传文件要时间,等我调完,我再告诉各位结果,如果可行,马上结贴给分..(*^__^*) 

#6


引用 3 楼 dongxinxi 的回复:
引用 1 楼 q552727411 的回复:
呃...我想应该是 aText[0].href="#"; 引起的onclick不能调用吧!
各位看一看,明天我来看一下,有答案了就结贴!

除非你的字符串转义问题,否则不应该是它
你的JS是怎么输出的页面的,Response.Write()?
消息: 'object' 未定义
行: 1
字符: 1
代码: 0
感觉好像根本不认得你的……

呵呵,我是用动态生成表格的那种:

  var otr=document.getElementById("tableOne").insertRow(f);//插入一行
 for(var y=0;y<7;y++)
                    {
                    var oTd=otr.insertCell(y);//添加一个单元格
                    oTd.appendChild(aText[y]);//往已有的oTr行里的第i列添加数据
                    }

#7


var element=document.createElement("a");
document.body.appendChild(element);

#8


以前好像是,如果有href属性的话,onclick好像就触发不了了

#9


引用 7 楼 wxr0323 的回复:
var element=document.createElement("a");
document.body.appendChild(element);

问一下,什么意思啊?

#10


引用 8 楼 myhope88 的回复:
以前好像是,如果有href属性的话,onclick好像就触发不了了

刚才我试了去除href,但是还是一样的错..

#11



aText[0].setAttribute("onclick", function () { deleteTable(this.name); });
===>事件最好不要用属性来设置
try
aText[0].onclick=function(){
 deleteTable(this.name); 
}

#12


引用 11 楼 telankes2000 的回复:
JScript code

aText[0].setAttribute("onclick", function () { deleteTable(this.name); });
===>事件最好不要用属性来设置
try
aText[0].onclick=function(){
 deleteTable(this.name); 
}

呵呵,当初我就是像你说的那样弄的,但是弄不出来!好像是说这里面没有onclick这个属性.....

#13


上面的,去除herf我试了,href="javacript:void(0)";我试了,但是href="javacript:void(0)";在上传到服务器上后一点击直接就跳到一个地址栏为javacript:void(0)的页面......

其实问题的主要在与,本地可以用,发布上传到服务器后,再从网页浏览的时候,就报错了,还是那个Object未定义的错误...

#14


呵呵,解决了,大家看给分就会知道是怎么解决的,下班咯,赶快结贴..

#1


呃...我想应该是 aText[0].href="#"; 引起的onclick不能调用吧!
各位看一看,明天我来看一下,有答案了就结贴!
 

#2



没用到herf。。。那可以不设置这个属性啊。。

试试不加或。。。。href="javacript:void(0);"

#3


引用 1 楼 q552727411 的回复:
呃...我想应该是 aText[0].href="#"; 引起的onclick不能调用吧!
各位看一看,明天我来看一下,有答案了就结贴!

除非你的字符串转义问题,否则不应该是它
你的JS是怎么输出的页面的,Response.Write()?
消息: 'object' 未定义
行: 1
字符: 1
代码: 0

感觉好像根本不认得你的输出,改成服务端向客户端注册的方式
Page.ClientScript.RegisterStartupScript

#4


href="javacript:void(0)";
同意这个

#5


呵呵,在此谢谢各位了,我会挨个试试!但是上传文件要时间,等我调完,我再告诉各位结果,如果可行,马上结贴给分..(*^__^*) 

#6


引用 3 楼 dongxinxi 的回复:
引用 1 楼 q552727411 的回复:
呃...我想应该是 aText[0].href="#"; 引起的onclick不能调用吧!
各位看一看,明天我来看一下,有答案了就结贴!

除非你的字符串转义问题,否则不应该是它
你的JS是怎么输出的页面的,Response.Write()?
消息: 'object' 未定义
行: 1
字符: 1
代码: 0
感觉好像根本不认得你的……

呵呵,我是用动态生成表格的那种:

  var otr=document.getElementById("tableOne").insertRow(f);//插入一行
 for(var y=0;y<7;y++)
                    {
                    var oTd=otr.insertCell(y);//添加一个单元格
                    oTd.appendChild(aText[y]);//往已有的oTr行里的第i列添加数据
                    }

#7


var element=document.createElement("a");
document.body.appendChild(element);

#8


以前好像是,如果有href属性的话,onclick好像就触发不了了

#9


引用 7 楼 wxr0323 的回复:
var element=document.createElement("a");
document.body.appendChild(element);

问一下,什么意思啊?

#10


引用 8 楼 myhope88 的回复:
以前好像是,如果有href属性的话,onclick好像就触发不了了

刚才我试了去除href,但是还是一样的错..

#11



aText[0].setAttribute("onclick", function () { deleteTable(this.name); });
===>事件最好不要用属性来设置
try
aText[0].onclick=function(){
 deleteTable(this.name); 
}

#12


引用 11 楼 telankes2000 的回复:
JScript code

aText[0].setAttribute("onclick", function () { deleteTable(this.name); });
===>事件最好不要用属性来设置
try
aText[0].onclick=function(){
 deleteTable(this.name); 
}

呵呵,当初我就是像你说的那样弄的,但是弄不出来!好像是说这里面没有onclick这个属性.....

#13


上面的,去除herf我试了,href="javacript:void(0)";我试了,但是href="javacript:void(0)";在上传到服务器上后一点击直接就跳到一个地址栏为javacript:void(0)的页面......

其实问题的主要在与,本地可以用,发布上传到服务器后,再从网页浏览的时候,就报错了,还是那个Object未定义的错误...

#14


呵呵,解决了,大家看给分就会知道是怎么解决的,下班咯,赶快结贴..