Ответ: Итак, это техника, с которой мне очень нравится. Не требует слишком много , чтобы определить идентификатор компонента. Помните, что все это означает, что вы можете знать id
компонента из любой точки вашей страницы, а не только из самого реального компонента. Это ключ. Я нажимаю кнопку, запускаю функцию javascript, и она должна иметь доступ к любому другому компоненту, а не к той, которая его запускала.
Это решение не требует «щелчка правой кнопкой мыши» и видит, что идентификатор. Этот тип решения является хрупким, поскольку идентификатор динамически генерируется, и если я меняю страницу, мне придется каждый раз проходить через эту бессмыслицу.
Итак, вот пример того, как это можно сделать.
Предположения: У меня есть * .xhtml (может быть * .jsp), и я определил бэк-файл. Я также использую JSF 2.0.
*. Xhtml page
<script>
function myFunc() {
var inputText = document.getElementById("#{backBean.emailAddyInputText.clientId}")
alert("The email address is: " + inputText.value );
}
</script>
<h:inputText binding="#{backBean.emailAddyInputText}"/>
<h:commandButton onclick="myFunc()" action="results" value="Next"/>
BackBean.java
UIInput emailAddyInputText;
Обязательно создайте свой приемник / сеттер для этого свойства.