Struts 2 + ajax + form

Pessoal, estou com o seguinte problema com o struts 2.0.6:

estou usando formulários remotos (via ajax), porém só está funcionando no FireFox. No Internet Explorer (testei as versões 6 e 7) os valores dos inputs não chegam ao Action.

Alguém já passou por este problema?

Valeu!

Segue código fonte da aplicação:

Formulário jsp:

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<s:actionmessage />

<s:form
    theme="ajax"
    action="/Boletim-save.action"
    method="get"
>
    <s:textfield name="nome"  label="Nome" size="48" required="true" />
    <s:textfield name="eMail" label="E-mail" size="48" required="true" />
    <s:submit theme="ajax" cssClass="btn" value="Cadastrar" targets="conteudoBoletim" align="center" />
</s:form>

Arquivo XML de configuração do struts:


    <package name="boletim" namespace="/" extends="struts-default">    
        <action name="Boletim-*" method="{1}" class="Boletim">
            <result name="input">/boletim/boletimCadastro.jsp</result>
            <result name="success">/boletim/boletimCadastro.jsp</result>                
        </action>
</package>

Classe Action:


public class Boletim extends ActionSupport{
    
    public String save() throws Exception{
            try{
                BoletimMd boletimMd = new BoletimMd();
                boletimMd.setNome(getNome());
                boletimMd.setEMail(getEMail());
                BoletimDb boletimDb = new BoletimDb();
                boletimDb.insert(boletimMd);
                addActionMessage(getNome()+", seu cadastro foi realizado com sucesso.");
                return SUCCESS;                            
            } catch(Exception e){
                addFieldError("eMail","Este email já está cadastrado!");
                return INPUT;
            }
    }
}

Opa, blz Kra?

Estou passando por este mesmo problema…
Funciona perfeitamente no FF, porém não no IE :evil:

Parece ser algum problema com a versão do struts (2.0.6) pois os próprios exemplos que acompanham a documentação (aquele showcase), que usam formulários ajax, não funcionam no IE. Se vc habilitar a exibição de mensagens de erros de script no IE vai ver os erros…

Será que não existe uma versão em desenvolvimento do struts que corrija este problema???

Obs: o mesmo recurso parece funcionar no webwork :?

Após profunda pesquisa em todos os sites sobre struts… não achei nada!!! :wink:

Mas descobri a solução na base da tentativa e erro e muita sorte!

faça o seguinte,

na tag s:submit adicione a seguinte propriedade: showLoadingText=“false”

ficando parecido com:

    <s:submit 
        type="submit" 
        theme="ajax" 
        value="Cadastrar" 
        targets="seu_div" 
        showLoadingText="false"
        align="center" 
    />

Se não funcionar avise… :wink:

Valeu!

Valeu mesmo pela dica! Realmente funcionou no IE, Foram exibidos erros de script, mas funcionou :smiley:

Tentei usar a versão 2.0.7 mas tive o mesmo problema… só desativando a o showLoadingText funciona.

Fiz uma busca e achei o seguinte tópico: http://issues.apache.org/struts/browse/WW-1598

bem no final, tem a dica do showLoadingText

[quote]
Musachy Barroso [25/Feb/07 08:46 AM]
The problem here was when the “target” of the submit was a parent element, on which a message (“Loading…”) is displayed on the target, deleting the form, which never got submitted. I added the “showLoadingText” attribute which can be set to “false” to prevent this situation. By the way I think there was another ticket for this. [/quote]

valeu

Olá pessoal estoui com o mesmo problema…
minha div não quer atualizar no IE 7…
Alguém conseguiu uma solução para este problema no struts 2.0.11??

Obrigado

fsquadro
Valeu, tava com esse mesmo problema na versão 2.0.11…usei esse artifício e deu certo.
Mas afinal, isso é bug do Struts ou não???

Abraço. :smiley: