繁体   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