2010-08-03 4 views
0

Lors de la sélection d'un élément DIV, je prends la valeur de l'élément caché DIV sélectionné et le transmets à un formulaire avec un élément caché. Ce formulaire est ensuite soumis. Voici des morceaux de mon code.JSF valueChangeListener non déclenché lors de la soumission d'un formulaire

La valeur de la entrée cachée intérieur de la forme est correctement réglée sur la sélection de la DIV et le formulaire est également soumis mais le valueChangeListener ne se déclenche pas.

Chaque indice est le bienvenu!

-choesang

forme avec l'élément caché:

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

élément DIV:

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

Java

public void changeListenerSelectedForumPost(final ValueChangeEvent event) { 
setSelectedForumPost(event.getComponent().getAttributes().get("value").toString()); 

}

Répondre

1

Il semble que vous ne disposez pas d'un attribut valueChangeListener sur le inputText. Vous avez besoin de cet attribut pour que JSF sache quel écouteur appeler. En supposant que votre haricot est nommé « haricot », voici un exemple:

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

Salut Colin, Merci d'avoir répondu à mon poste. Une partie de mon code n'était pas visible, désolé à ce sujet. J'ai un valueChangeListener, pas exactement pour l'élément mais pour . Veuillez noter que est l'élément soumis au serveur. – tchoesang

+0

Ok. Rien ne semble évidemment mal maintenant. Cela fonctionne-t-il si vous changez h: inputHidden en un h: inputText? –

Questions connexes