Ошибка javascript Firebug: идентификатор начинается сразу после числового литерала

У меня есть сообщение об этой ошибке в firebug, но я понятия не имею, что это значит:

Идентификатор начинается сразу после числового литерала

Вот моя веб-страница: http://www.austintreeexperts.com/maps/optionUpdateMap.cfm?zoom=15

Когда страница и карта загрузятся, нажмите на один из синих или зеленых маркеров. Затем нажмите на один из флажков, чтобы получить сообщение об ошибке. У меня есть onclick= для флажков ввода.


person ShadeTreeDeveloper    schedule 04.05.2011    source источник
comment
Пожалуйста, включите соответствующий код в свой вопрос,   -  person Mantar    schedule 04.05.2011
comment
Версия Firefox и firebug, которую вы используете, пожалуйста.   -  person Alfabravo    schedule 04.05.2011


Ответы (4)


Ваша конкатенация строк нарушена. Вам нужно заключить параметры метода в кавычки

var statusForm = '<input id="tU'+Aid+'" type="checkbox" onclick="optionAUpdate(tU'+Aid+', '+color+', '+optionB+')"/> option A  |  <input id="iU'+Aid+'" onclick="optionBUpdate(iU'+Aid+', '+color+', '+optionA+')" type="checkbox"/> options B';
From here ----------------------------------------------------------------------------^

Исправленная версия

var statusForm = '<input id="tU' + Aid + '" type="checkbox" onclick="optionAUpdate(\'tU' + Aid + '\', \'' + color + '\', \'' + optionB + '\')"/> option A'

Примечание. Я рассматривал все ваши параметры как строки.

person JohnP    schedule 04.05.2011
comment
Вау, ты извлек это из его источника? Способ сделать все возможное, я бы +2 вам, если бы мог. Тем не менее, вы не исправили код в опубликованном примере, верно? Это не кажется правильным. - person JAAulde; 04.05.2011
comment
@JAAulde спасибо, с firebug было легко :). Вы правы, я должен также опубликовать исправленную версию. обновление - person JohnP; 04.05.2011

Ваш onclick должен быть:

optionAUpdate('tU20238', '75AB5F', 0)

Обратите внимание, что я заключил параметры в кавычки, поскольку они являются строками.

person JAAulde    schedule 04.05.2011

Это сообщение также появляется, если вы попытались назвать переменную, начинающуюся с цифры. например.

var 2ndString = 'abc';
person granticusiv    schedule 05.06.2017
comment
Если у вас есть новый вопрос, задайте его, нажав кнопку Задать вопрос. Включите ссылку на этот вопрос, если это помогает обеспечить контекст. – Из обзора - person Pau; 05.06.2017
comment
@Pau Я не понимаю, почему за меня проголосовали. Если у вас есть сообщение об ошибке Идентификатор начинается сразу после числового литерала, это может быть связано с тем, что вы пытались назвать переменную, начинающуюся с числа. Разве это не полезно для людей, которые попадают сюда, потому что они искали Идентификатор начинается сразу после числового литерала? - person granticusiv; 06.06.2017
comment
Эх, извини Пау :) - person granticusiv; 07.06.2017

Для этого случая в моем коде:

html.input()
       .onclick("selectItem(" +"'"+cons.getIdentificacion().toString()+"'" + ");")
       .type("radio")
       .name("selectedItem")
       .style("vertical-align: text-bottom")
       .close();

работает отлично.

person Gustavo    schedule 23.04.2012
comment
Это не похоже на родной Javascript - что это? Мне это не кажется действительным... - person Christoph; 26.10.2012