I am experiencing some issues when using an a:commandButtonin Internet Explorer. I am using an <a:commandButton>
with an action to add a details object. This is working just fine when I use Chrome or Firefox. However, when clicking the add button in Internet Explorer, the context is destroyed and a new one is created.
Some code:
ListPage.xhtml
<a:commandButton action="#{articleDetail.add}"
value="Add" id="PopadArticleBtn"
reRender="#{facesContext.maximumSeverity eq null ? 'ArticlePanel' : 'PopArticle, errorMsg'}"
oncomplete="#{facesContext.maximumSeverity eq null ? 'Richfaces.hideModalPanel(\'addArticle\');' : ''}">
And finally the ArticleDetail.java class: (Getters & setters included)
@Name("articleDetail")
@Scope(ScopeType.CONVERSATION)
@AutoCreate
public class ArticleDetail extends EntityQuery<ArticleDetail> {
private String fuuPm;
private String fuuTm;
private String fuuDc;
private String fuuDn;
private String fuuVc;
private String fuuEc;
private String fuuIc;
private String fuuTc;
private String fuuUc;
public void add() {
Boolean unique = Boolean.TRUE;
Boolean empty = Boolean.FALSE;
article = populateArticle(
article,
getEntityManager().find(
ArticleMaster.class,
new ArticleMasterId(Integer.parseInt(fuuPm), Integer
.parseInt(fuuTm), fuuDc, fuuDn, fuuVc, fuuEc,
fuuIc, fuuTc, fuuUc)));
}
So the problem: in chrome, when debugging, all the attributes have a value, in internet explorer all the values are null
because of the nex context created
I really have no clue why other browsers seem to leave the conversation context intact and IE somehow causes a new context.
Similar question: https://stackoverflow.com/questions/2906774/a4jcommandbutton-causes-full-page-reload-on-ie7
Thanks in advance!
This issue occured because the <a:commandButton>
was placed in a nested form. By removing the form and the commandButton outside of the form it was originally in, the behavior is as expected.
It seems that IE is stricter on W3C norm concerning forms than Chrome & Firefox: W3C Forms Norms
Every form must be enclosed within a FORM element. There can be several forms in a single document, but the FORM element can't be nested.