Cancelar refresh da pagina quando há o submit!

5 respostas
S
Em uma das páginas do meu programa Java Web -> Jquery eu abro uma modal de um
Nessa modal, eu faço o submit do form! Meu JQuery esta configurado assim!
$("#Formulario").submit(function(){
    		$(this).ajaxSubmit({
    	    	beforeSubmit: function(){$("#Botao").attr("disabled", "true");},
    	        success: function(){
    	    		if(!$.browser.msie){
    	    			parent.fechar();
    		    	}
    	        }
    	    });

    		if($.browser.msie){
    			$("#Formulario").ajaxStop(function(){
    				window.opener.fechar();
    				window.close();
    			});
            }
    	});

Nesse momento ele executa o submit, fecha a modal, mas infelizmente ele da um refresh na pagina, e isso é ruim pois na pagina principal eu tenho uma lista enorme para carregar. Eu precisaria que o submit acontecesse, passando os dados da pagina (VRaptor) via post, fechasse a modal, mas não atualizasse a pagina principal.
Alguma dica, ou dúvida?

5 Respostas

A

coloca um return false; no fim !

S

Queria que fosse tão simples… (:
Mesmo botando ali o return false; ele continua dando refresh!

A

Era pra ser simples …
em que parte do código vc colocou?

S
$("#Formulario").submit(function(){  
        $(this).ajaxSubmit({  
            beforeSubmit: function(){$("#Botao").attr("disabled", "true");},  
            success: function(){  
                if(!$.browser.msie){  
                    return false; //Se eu coloco aqui, ele não atualiza a pagina, mas não fecha a modal.
                    parent.fechar();  
                    return false; //Se eu coloco aqui, ele fecha a modal, mas atualiza a pagina.
                }  
            }  
        });  
  
        if($.browser.msie){  
            $("#Formulario").ajaxStop(function(){  
                window.opener.fechar();  
                window.close();  
            });  
           }  
    });
A
parent.fechar();

window.opener.fechar();

Existem estes métodos?

O return false deveria ser:

$("#Formulario").submit(function(){
    $(this).ajaxSubmit({    
            beforeSubmit: function(){$("#Botao").attr("disabled", "true");},    
            success: function(){    
                if(!$.browser.msie){    
                    parent.fechar();
                }    
            }    
        });    
    
        if($.browser.msie){    
            $("#Formulario").ajaxStop(function(){    
                window.opener.fechar();    
                window.close();    
            });    
           }

        return false; // No fim da função submit
     });
});

Se não der certo, está ocorrendo algum erro no seu script.
Deixe o firebug ligado e visualize no console se ocorre algum erro.

Criado 4 de outubro de 2011
Ultima resposta 6 de out. de 2011
Respostas 5
Participantes 2