<head> 
<script type="text/javascript" language="javascript"> 
function ss(ss){ 
alert(ss); 

</script> 
</head> 
  
<body> 
    <% 
    String str = "s001"; 
    out.print(" <img src = 'gif/"+str+".gif'"+"onclick='ss("+str+")'> </img>"); 
    %> 
</body> 
为什么ss方法,不能被调用呢?变量str的数据类型是数字的时候就可以正确调用... 
比如str = "001";但是被ss(str)调用以后,输出的却是1,不是001,实在搞不懂! 
刚学JSP,请高手指点下

解决方案 »

  1.   

    onclick="ss('" + str + "')"
      

  2.   


    out.print( "<img src = 'gif/ "+str+ ".gif ' onclick= 's(\""+str+ "\")'></img>");
      

  3.   

    楼上的正确,可不加个杠啥意思?能不解释下?我刚不jsp不太懂。。
      

  4.   

    \是转义字符,打出来的字符串是 onclick=ss("abc")
    alert("abc") 弹出字符串 "abc"
    如果写成 onclick= 'ss( "+str+ ") ' 则打出来的字符串是  onclick=ss(abc)
    alert(abc) 函数要找abc对象
    因为程序中没有abc对象所以报错。