日期:2014-05-17  浏览次数:20886 次

asp中调用javascript函数,参数传递问题
<script language="JavaScript" type="text/JavaScript"> 
function show(imgsrc,aa) 

document.all.Layer1.style.display=""; 
document.all.img1.src=imgsrc; 
document.getElementById("apdiv5").innerHTML =aa;



</script> 



<%a1=rs("content")%>
<li><a href="#apdiv5"><img src="uploadfile/<%=rs("photo")%>" onClick="show(this.src,<%=a1%>)" alt="<%=rs("title")%>" /></a></li>

第二个参数aa只能接收数字,字符就不行了,请高手指点。

------解决方案--------------------
onClick="show(this.src,'<%=a1%>')"
------解决方案--------------------
show(this.src,<%=a1%>)
在<%=a1%>两边加上冒号
show(this.src,"<%=a1%>")

数字的时候这个地方会作为常数传递给JS,,但是如果是字符的话就会被JS当成变量名,但是你这边没有定义这个名字的变量,所以传值失败。
加上冒号以后就可以作为字符串常量传递。
------解决方案--------------------
弄错了,,你的HTML里面已经用了""
在<%=a1%>两边加单引号''
show(this.src,'<%=a1%>')

PS:引号。。。弄错了= =
------解决方案--------------------
数字直接当常量用,在JS里面不用加引号,字符串要加的,要不他怎么知道这个是什么东西,会把它当成一个变量..

或者你在别的地方用个变量定义一下,然后在那里引用,效果一样!