Вам просто нужно указать идентификатор входа. Однако обратите внимание, что идентификатор будет иметь префикс идентификатора формы, содержащей поле ввода.
Например:
<h:form id="myForm">
...
<h:inputText id="myInput" .../>
реальный идентификатор inputText является MyForm: myInput.
Таким образом, этот код Javascript будет работать:
var obj = document.getElementById("myForm:myInput");
Редактировать (для точности)
Чтобы быть более точным, если компонент реализует интерфейс NamingContainer в Java, то все вложенные компоненты будут иметь свой идентификатор с префиксом идентификатора этого компонента. Это относится к компоненту <h:form/>
, но также и для <h:datatable/>
.
Вот как это работает, но в некоторых случаях, например, если мы вставляем компонент внутри другого компонента, тогда генерируемый идентификатор не предсказуем. – Madhu
Не могли бы вы изменить исходное сообщение, чтобы привести пример такого случая? – romaintaz
Это работает в моих приложениях. Я не люблю использовать его, как если бы вы меняли любой из ваших идентификаторов компонентов или помещали их в другую форму, ваш javascript перестанет работать. –