尝试将String值传递给javascript函数时,浏览器控制台上会抛出Uncaught ReferenceError。 以下是示例代码:
function mySampleTest(myId, comments){
alert("myId " + myId);
alert("comments : " + comments);
}
var myTest = function(value, rowIndex) {
var myId = this.grid.getItem(rowIndex).MY_ID;
var comments = this.grid.getItem(rowIndex).COMMENTS;
return "<img src=<%=request.getContextPath()%>/images/image1.gif width=\"25\" height=\"25\" onClick=\"mySampleTest("+ myId +" , "+comments+")\">";
};
当用户点击图片时调用JavaScript函数mySampleTest
但是当我将字符串评论传递给mySampleTest
函数时,它会抛出JavaScript错误。如果我删除评论参数并将myId
传递给mySampleTest(..)
,则可以正常使用。
请建议如何将字符串值传递给JavaScript函数。
我也试过以下,但没有用。
return "<img src=<%=request.getContextPath()%>/images/image1.gif width=\"25\" height=\"25\" onClick=\"mySampleTest("+ myId +" , \'' + comments + '\')\">";
答案 0 :(得分:3)
正如一位教授曾经告诉我的那样,编写代码的大部分内容都涉及到&#34;作为计算机&#34;。
暂时考虑一下你的功能输出,你应该很快看到问题:
<img src=whatever/your/context/path/is/images/image1.gif
width="25" height="25"
onClick="mySampleTest(12345, this is a comment)">
您的javascript无效:
mySampleTest(12345, this is a comment)
应该是:
mySampleTest(12345, 'this is a comment') // <--- notice the quotes
将会一直转化为:
return "<img src=\"<%=request.getContextPath()%>/images/image1.gif\" width=\"25\" height=\"25\" onClick=\"mySampleTest('"+ myId +"' , '"+comments+"')\">";
更不用说您的src
属性确实需要引用。