]
Adrian Ruoss updated RF-9529:
-----------------------------
Attachment: DataBean.java
popup_problem.xhtml
popup_works.xhtml
Hello Nick,
Probably I've found a similar problem during my tests of the popup (M4). It's not
possible to set values within a popup when the from is around the popup. The input's
value is not submitted within the HTTP request. But when the popup contains its own form
then it works.
See full code examples attached
rich:popupPanel with a4j:commandButton. After an ajax submit there
are no values submitted
------------------------------------------------------------------------------------------
Key: RF-9529
URL:
https://jira.jboss.org/browse/RF-9529
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: component-a4j-core
Affects Versions: 4.0.0.Milestone3
Environment: Richfaces M2 and M3
Reporter: P N
Assignee: Nick Belaevski
Priority: Critical
Attachments: DataBean.java, popup_problem.xhtml, popup_works.xhtml
On my page i´m using a rich:popupPanel. On this panel i have a form and some input field
(for test only 1) and an a4j:commandbutton with it. I want to make an Ajax Request on it
to save the data, when i click the button the actionListener is called, but i get no value
from the input field, i always get null. If i test this on a normal page, without a
rich:popupPanel it works.It works when i use a <h:commandButton
actionListener="#{myActionListener.method}"> <f:ajax
execute="@form" render="@form"/>, then the data is submitted.
Example:
<rich:popupPanel
id="popup"
modal="true"
height="600"
width="800"
resizeable="true"
>
<f:facet name="header">
<h:outputText value="Create new Project"/>
</f:facet>
<f:facet name="controls">
<h:form
prependId="false"
id="insidefrm"
>
<a4j:commandLink
actionListener="#{projectVC.close}"
oncomplete="#{rich:component('popup')}.hide();"
>
<h:graphicImage
value="/resources/ui-richfaces/gfx/close.gif"
/>
</a4j:commandLink>
</h:form>
</f:facet>
<h:form
id="popupfrm"
>
<h:panelGrid id="errmsg">
<h:messages id="msg"/>
</h:panelGrid>
<h:panelGrid
columns="4"
columnClasses="columnslabel,columnstextfield,columnslabel,columnstextfield"
>
<h:outputLabel
for="txttitle"
value="Title"
styleClass="labelfortext"
/>
<h:inputText
id="txttitle"
value="#{projectVM.budget}"
styleClass="textafterlabelblack"
required="true"
autocomplete="off">
</h:inputText>
</h:panelGrid>
<a4j:commandButton
id="save"
value="save"
execute="@form"
render="projecttbl errmsg" <!-- After click i want to
reRender a Datatable -->
actionListener="#{projectVC.saveTest}"
>
</a4j:commandButton>
</h:form>
</rich:popupPanel>
Controller code
public void saveTest(ActionEvent event) {
log.debug("Test Ajax ");
if(getProjectVM().getBudget() != null ) {
log.debug("You Entered ["
+ getProjectVM().getBudget() + "]");
}
FacesUtils.addMessageIntoContextSeverityInfo(null, "Just an Info
Message", null) ;
}
When i change in the popup from a4j:commandButton to (then it works as supposed)
<h:commandButton
id="save"
value="save"
actionListener="#{projectVC.saveTest}"
>
<f:ajax
execute="@form"
render=":datatablefrm @form"
/>
</h:commandButton>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: