У меня есть три выпадающие списки, значения которых были скопированы <h:inputHidden>
компонентов с помощью следующей функции JavaScript:Резервное Bean не получают значения, посланные JavaScript
function getBirthDate() {
var months = document.getElementById("months")
var hidden1 = document.getElementById("formsignup:monthField");
hidden1.value = months.options[months.selectedIndex].text;
var days = document.getElementById("days");
var hidden2 = document.getElementById("formsignup:dayField");
hidden2.value = days.options[days.selectedIndex].value;
var years = document.getElementById("years");
var hidden3 = document.getElementById("formsignup:yearField");
hidden3.value = years.options[years.selectedIndex].value;
}
Вот три <h:inputHidden>
компоненты:
<h:inputHidden value="#{signupBean.month}" id="monthField"/>
<h:inputHidden value="#{signupBean.day}" id="dayField"/>
<h:inputHidden value="#{signupBean.year}" id="yearField"/>
Это командная кнопка, которая должна вызывать функцию, которая копирует значения на входные данные, а затем отправляет их в фоновый компонент.
<h:commandButton image="images/images/signup1.png"
styleClass="joinnow"
id="joinus" action="#{signupBean.save}"
onclick="getBirthDate()" />
Но они прибывают как null
в бэк-боба. Как это вызвано и как я могу его решить?
Редактировать: jQuery зависает, когда я пытаюсь выбрать элементы из компонентов JSF. Есть ли проблема с идентификаторами элементов?
Редактировать: ниже приведен скриншот переменных, отправленных вместе с HTTP-запросом, который доказывает правильность отправки значений. В чем проблема с фасолью?
Ты что правильные измененные значения были отправлены на сервер? Проверьте HTTP-трафик в наборе инструментов разработчика webbrowser. – BalusC
Убедитесь, что ваши '' находятся внутри вашего '', и ваш метод' getBirthDate' работает, вы можете протестировать каждый проход с помощью 'console.log()' в Firefox (используя firebug) или Chrome (используя консоли Chrome, нажав Ctrl + Shift + J). –
О идентификаторах JSF изменит идентификатор компонентов по форме: , например, в ' ' id для «myInputText» будет «myForm: myInputText», если ваш компонент JSF находится вне формы, например ' 'id myInputText будет« myInputText », потому что он не находится внутри контейнера. –