簡體   English   中英

支持Bean無法獲取javascript發送的值

[英]Backing Bean not getting values sent by javascript

我有三個下拉列表,其值通過以下JavaScript函數復制到<h:inputHidden>組件:

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"/>

這是命令按鈕,它應調用將值復制到輸入,然后將其提交到支持Bean的函數。

<h:commandButton image="images/images/signup1.png" 
     styleClass="joinnow" 
     id="joinus" action="#{signupBean.save}"
     onclick="getBirthDate()" />

但是它們作為null到達備用bean。 這是怎么引起的,我該如何解決?

編輯:當我嘗試從JSF組件中選擇元素時,jQuery凍結。 元素的ID是否有問題?

編輯:下面是與HTTP請求一起發送的變量的屏幕快照,證明了正確發送了這些值。 那個豆怎么了?

在此處輸入圖片說明

您可以檢查bean的范圍以及在提交期間是否重新初始化它的范圍嗎。在那種情況下,無論值是從客戶端發送的,隱藏字段都將獲得其初始值。

您可以使用Alert語句檢查對象是否存在。

function getBirthDate() {
var months = document.getElementById("months")
var hidden1 =  document.getElementById("formsignup:monthField");
alert(months);alert(months.value);
alert(hidden1);alert(hidden1.value);

如果Object值為null,則給出的ID是不正確的..還檢查您從該對象獲得的值..我認為這可能會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM