当我将一个字符串值放入onclick时,控制台会返回'Uncaught SyntaxError:Unexpected token ILLEGAL'?如果它只是一个数字,它可以正常工作,但如果它是一个字符串则不行!
代码:
document.getElementById("productMenu").innerHTML += "<div class=\"leftMenuItems\" onclick=\"javascript:showResources(" + p_codes + ");\">" + p_codes + " - " + p_names + "</div>";
<div class="leftMenuItems" onclick="javascript:showResources(1234ABC);">Product Name</div>
答案 0 :(得分:2)
你缺少引号
onclick="javascript:showResources('1234ABC');"
因为1234ABC
是一个字符串,而数字不需要引号
答案 1 :(得分:1)
问题在于,如果不将参数包装在引号中,JavaScript就会查找同名变量。由于变量名不能以数字文字开头,因此您收到错误。仅数字将作为整数传递。
您应该使用以下内容:
<div class="leftMenuItems" onclick="javascript:showResources('1234ABC');">Product Name</div>
答案 2 :(得分:1)
试试这个,它对我有用。
在以下string.format中的quote中传递字符串:
HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")
代码示例:
StringBuilder strPhotos = new StringBuilder();
strPhotos.Append(String.Format("<div class=\"div_employee_img\">
<a href=\"#\" onclick=\"DeletePhoto({0}); return true;\"></a></div>,
HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")));
答案 3 :(得分:0)
不知怎的,它没有发布完整的代码,这里又是
strPhotos.Append(String.Format("<input type=\"button\" onclick = \"Delete({0}) return false;\", HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")));