Как я могу узнать идентификатор JSF-компонента, чтобы я мог использовать его в Javascript

Проблема: Иногда вам может понадобиться получить доступ к компоненту из javascript с помощью getElementById , но идентификаторы генерируются динамически в JSF, поэтому вы нужен метод получения идентификатора объекта. Ниже я отвечу, как это сделать.


Исходный вопрос: Я хочу использовать код, как показано ниже. Как я могу сослаться на JSF-компонент inputText в моем Javascript?


    
       Input Name Page
        
    
    
        
            
                Please enter your email address:

Обновление : в этом сообщении Идентификаторы клиентов в JSF2.0 обсуждаются такие методы, как:





Предполагается, что атрибут id в компоненте inputText создает объект, к которому можно получить доступ с помощью EL, используя # {myInptTxtId} , в приведенном выше примере. В статье говорится, что JSF 2.0 добавляет метод getClientId () с нулевым аргументом для класса UIComponent . Тем самым разрешив конструкцию # {myInptTxtId.clientId} , предложенную выше, чтобы получить фактический сгенерированный идентификатор компонента.

Хотя в моих тестах это не работает. Может ли кто-нибудь еще подтвердить / опровергнуть. Предлагаемые ниже ответы страдают тем недостатком, что указанные выше техника нет. Поэтому было бы хорошо узнать, действительно работает.

43
задан ftravers 20 May 2011 в 07:29
поделиться