js传入参数是中文的时候出现 “******”未定义错误||js传入字符参数时没有效果

后台代码生成:

 

Java代码  收藏代码
  1. sb.append("<a href="****" onclick='getType(' "+pl.getName()+"   
  2.                    ',this)' />");  
  3.   
  4.  out.write(sb.toString());  
  5.   
  6.  out.flush();     

 

页面代码

 

Js代码  收藏代码
  1. function getType(obj,obj1){  
  2.       alert(obj);  
  3.      ......................  
  4. }  

 obj为中文字符串,运行时候会出现

     first:     obj = '钢管'

     result:    '钢管'未定义

 

answer:

      将后台代码中

 

Java代码  收藏代码
  1. onclick=getType(\""+pl.getName()+\"")................  

       加上双引号就可以了......................................

 

附加上另外的一个代码例子:缺少引号引发的问题:

<script type="text/javascript">  
function bb(result){  
alert('nnn '+ result);
}
function name(){  
var msg="报错未定义"; //报错 说 ffff未定义  
/*var msg=1; 因为是数字 能把值传到bb方法中去 */  
document.getElementById('aa').innerHTML = ' <div onclick="bb(\''+msg+'\')">jjjj </div>';  
}  
 
</script>  

<div id="aa" onclick="name()" style="position: absolute;border: groove;">  
aaaaa  
</div>

posted @ 2012-08-12 15:27  小满子  阅读(1120)  评论(0编辑  收藏  举报