首页 文章

onclick传递数字和字符串

提问于
浏览
2

当我将一个字符串值放入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>

4 回答

  • 0

    你缺少报价

    onclick="javascript:showResources('1234ABC');"
    

    因为 1234ABC 是一个字符串,而数字不需要引号

  • 1

    问题是如果你没有将参数包装在引号中,JavaScript就会寻找一个同名的变量 . 由于变量名不能以数字文字开头,因此您收到错误 . 单独的数字将作为整数传递 .

    您应该使用以下内容:

    <div class="leftMenuItems" onclick="javascript:showResources('1234ABC');">Product Name</div>
    
  • 2

    试试这个,它对我有用 .

    在以下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()+"'")));
    
  • 1

    不知怎的,它没有发布完整的代码,这里又是

    strPhotos.Append(String.Format("<input type=\"button\" onclick = \"Delete({0}) return false;\", HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")));

相关问题