проходящие числа и строки по клику - PullRequest
2 голосов
/ 29 марта 2012

Когда я помещаю строковое значение в клик, консоль возвращает «Uncaught SyntaxError: Неожиданный токен 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 ]

2 голосов
/ 29 марта 2012

Вам не хватает кавычек

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

, потому что 1234ABC - строка, а числа не нуждаются в кавычках

1 голос
/ 15 мая 2013

Попробуйте, у меня это сработало.

Передайте строку внутри кавычки в следующем 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()+"'")));
1 голос
/ 29 марта 2012

Проблема в том, что если вы не заключите аргумент в кавычки, JavaScript ищет переменную с тем же именем.Поскольку имена переменных не могут начинаться с числовых литералов, вы получаете сообщение об ошибке.Только числа будут переданы как целые числа.

Вы должны использовать следующее:

<div class="leftMenuItems" onclick="javascript:showResources('1234ABC');">Product Name</div>
0 голосов
/ 15 мая 2013

Как-то не выложил полный код, вот и снова

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...