表单提交时未激发JSF valueChangeListener

表单提交时未激发JSF valueChangeListener,jsf,valuechangelistener,Jsf,Valuechangelistener,在选择一个DIV元素时,我获取所选DIV的隐藏元素的值,并将其传递给一个包含隐藏元素的表单。然后提交此表格。 下面是我的代码片段 表单中隐藏输入的值已正确设置 选择DIV时,也会提交表单,但不会触发valueChangeListener 欢迎任何提示 -choesang 带有隐藏元素的表单: <a4j:form id="currentForumPost" ajaxSubmit="true" onsubmit="console.log('currentForumPost

在选择一个DIV元素时,我获取所选DIV的隐藏元素的值,并将其传递给一个包含隐藏元素的表单。然后提交此表格。 下面是我的代码片段

表单中隐藏输入的值已正确设置 选择DIV时,也会提交表单,但不会触发valueChangeListener

欢迎任何提示

-choesang

带有隐藏元素的表单:

<a4j:form id="currentForumPost" ajaxSubmit="true" 
          onsubmit="console.log('currentForumPost is submitted'); 
          console.log(jQuery('#currentForumPost:currentPostId').val())" >
       <h:inputHidden id="currentPostId" 
       valueChangeListener="#{forumController.changeListenerSelectedForumPost}" 
       immediate="true"/>
</a4j:form>
<div class="block ui-accordion ui-widget ui-helper-reset"  
  onclick="var x = jQuery(this).find('.hiddenInputText').val();        
  jQuery(this).closest('#RightPane').find('#currentForumPost:currentPostId').val(x);      
  jQuery(this).closest('#RightPane').find('#currentForumPost').submit();">
  <h:inputText value="#{post.uuid}" styleClass="hiddenInputText"/>
                      ......
</div>

}

在inputText上似乎没有
valueChangeListener
属性。您需要这个属性,以便JSF知道调用哪个侦听器。假设您的bean名为“bean”,下面是一个示例:

<h:inputText value="#{post.uuid}" valueChangeListener="#{bean.changeListenerSelectedForumPost}" styleClass="hiddenInputText" />


嗨,科林,谢谢你回复我的帖子。我的部分代码不可见,很抱歉。我确实有一个valueChangeListener,不完全针对元素,而是针对。请注意,元素是否已提交到服务器端。确定。现在看来没有什么明显的问题。如果您将h:inputHidden更改为h:inputText,是否有效?
<h:inputText value="#{post.uuid}" valueChangeListener="#{bean.changeListenerSelectedForumPost}" styleClass="hiddenInputText" />