onclick传递数字和字符串
当我把一个字符串值放到onclick控制台返回'未捕获的SyntaxError:意外的令牌非法'?它工作正常,如果它只是一个数字,但不是它的一个字符串!onclick传递数字和字符串
代码:
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>
你缺少引号
onclick="javascript:showResources('1234ABC');"
因为1234ABC
是一个字符串,而数字不需要引号
的问题是,如果你不将参数封装在引号中,JavaScript正在寻找一个同名的变量。由于变量名称不能以数字文字开头,因此您收到错误。仅数字将作为整数传入。
你应该使用下列内容:
<div class="leftMenuItems" onclick="javascript:showResources('1234ABC');">Product Name</div>
感谢您提供更详细的解释,有一天我会在这一切中变得更好......有一天! – 2012-03-29 09:16:23
试试这个,它为我工作。在下面的String.Format报价的内部
传递字符串: 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()+"'")));
不知怎的,它并没有发布完整的代码,这里又是
strPhotos.Append(String.Format("<input type=\"button\" onclick = \"Delete({0}) return false;\", HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")));
Doh!有时显而易见的是不明显!现在工作!非常感谢 – 2012-03-29 09:07:19