Пользовательские атрибуты для кнопок в нефрите - PullRequest
1 голос
/ 07 февраля 2012

Привет, я пытаюсь закодировать веб-страницу, используя node.js и jade.Я пытаюсь добавить пользовательский атрибут для кнопки, как в HTML:

<input type = "button" specialID = someSpecialID, onclick="doSomething(specialID);">

, где someSpecialID - это значение, переданное в шаблон сервером узла.Я пробовал:

input(type = "button", specialID = someSpecialID, onclick = "doSomething(specialID);")

и:

input(type = "button", onclick = "doSomething(specialID);")
     specialID = someSpecialID

, но пользовательский атрибут, похоже, не принимает.Я продолжаю получать сообщение об ошибке, что specialID не определен.

Я все еще немного новичок в node.js и jade, поэтому извините, если это тривиальный вопрос.Я был бы очень признателен за любую помощь в этом.

1 Ответ

4 голосов
/ 07 февраля 2012

Я не уверен, что точно понимаю контекст выполнения. Является ли someSpecialID объектом javascript, переданным как локальный? Или просто какой-нибудь заполнитель, который будет похож на specialID = 5 в вашем реальном коде? (edit: хорошо, я пропустил строку, где вы говорите, что она передается как значение, поэтому я думаю, что ваш случай прежний)

Если это первое, вы можете использовать интерполяцию (между кавычками, потому что я думаю, что Джейд ожидает кавычки, т.е.: specialID="#{someSpecialID}")

Если это последнее, что-то вроде этого будет выглядеть правильно:

input(type="button", specialID="someSpecialID", onclick="doSomething(specialID);")

Вам следует рассмотреть возможность использования атрибута data-special-id вместо specialID (пользовательские атрибуты "нормализованы" в HTML5 с префиксом данных).

...