Não aparece mensagem quando há requisições ajax para richfaces. abril 27, 2009
Posted by marcomalaquias in Uncategorized.trackback
Esta trabalhando em um projeto e me deparei com o seguinte problema: quando tenho um formulário que envio via a4j:commandButton as mensagens do h:messages não estavam aparecendo. Segue um formulário para representar o que digo:
<h:messages errorStyle=”color:red” infoStyle=”color: red” id=”mensagens” />
<form jsfc=”h:form” id=”enviarSenhaVoluntarioForm” prependId=”false”>
<fieldset>
<label for=”txtEmail”>Login ou e-mail: *</label>
<input
jsfc=”h:inputText”
value=”#{loginController.voluntario.dsEmail}”
id=”dsEmail”
type=”text”
maxlength=”60″
size=”60″
tabindex=”1″
required=”true”
requiredMessage=”O campo E-mail é requerido!”/>
<input
type=”submit”
jsfc=”a4j:commandButton”
action=”#{loginController.reinviarSenhaPorEmail}”
tabindex=”2″
styleClass=”submit”
reRender=”mensagens”
oncomplete=”if(#{loginController.enviadoSenhaSucesso}) {jQuery(‘#dsEmail’).val(”);}”
value=”Enviar nova senha por e-mail” />
</fieldset>
</form>
Após algumas pesquisas na net, descobri que, para aparecer a mensagem, é necessário envolver o h:messages em um a4j:outputPanel, conforme o código abaixo:
<a4j:outputPanel ajaxRendered=”true” id=”mensagens”>
<h:messages errorStyle=”color:red” infoStyle=”color: red” id=”mensagemErro” />
<form jsfc=”h:form” id=”enviarSenhaVoluntarioForm” prependId=”false”>
<fieldset>
<label for=”txtEmail”>Login ou e-mail: *</label>
<input
jsfc=”h:inputText”
value=”#{loginController.voluntario.dsEmail}”
id=”dsEmail”
type=”text”
maxlength=”60″
size=”60″
tabindex=”1″
required=”true”
requiredMessage=”O campo E-mail é requerido!”/>
<input
type=”submit”
jsfc=”a4j:commandButton”
action=”#{loginController.reinviarSenhaPorEmail}”
tabindex=”2″
styleClass=”submit”
reRender=”mensagens”
oncomplete=”if(#{loginController.enviadoSenhaSucesso}) {jQuery(‘#dsEmail’).val(”);}”
value=”Enviar nova senha por e-mail” />
</fieldset>
</form>
</a4j:outputPanel>
Após esse ajuste, a mensagem apareceu normalmente.
Comentários»
No comments yet — be the first.