Fechar jsp com o window.close();

4 respostas
R

Feras

estou com um problema e queria saber se encontro a solução por vocês

eu tenho uma pagina jsp conforme abaixo

<html>
	<body onload="finalizar()">
		<script>
		  function finalizar() {
			  try { 
			    window.opener.finalizouAssinatura();
			  } catch(e) {
			    alert("Não foi possível concluir a assinatura");
			  }
		  }
		</script>
	</body>
</html>

essa function redireciona para essa function que fica em outra pagina

function finalizouAssinatura() {
		return inserir();   	
    }

e dentro dessa mesma pagina que está essa função finalizouAssinatura(); ela chamado a function inserir() que esta abaixo

function inserir(){
		alert("inserirLicitacao.jsp");
		document.licitacaoForm.encoding = "multipart/form-data";		
		if (document.licitacaoForm["novoEvento.statusArquivoLicitacao.comprovanteFormulario.sequencial"].value != null 
				&& document.licitacaoForm["novoEvento.statusArquivoLicitacao.comprovanteFormulario.sequencial"].value != ""){

			document.licitacaoForm.encoding = "application/x-www-form-urlencoded";

			if (document.licitacaoForm["novoEvento.statusArquivoLicitacao.comprovanteEnvio.sequencial"].value != null 
					&& document.licitacaoForm["novoEvento.statusArquivoLicitacao.comprovanteEnvio.sequencial"].value != ""){
				document.licitacaoForm.action ='<%=request.getContextPath()%>/inserirLicitacao.do?submit=inserir';
				var form = document.licitacaoForm;
				document.licitacaoForm.submit();
			}else{
				document.licitacaoForm.action = '<%=request.getContextPath()%>/inserirLicitacao.do?submit=exibirComprovanteEnvio';
				document.licitacaoForm.submit();
			}
		}
	}

meu problema e que no final da execução dessa function inserir() a pagina que esta no primeiro trecho desse post fica em branco e não fecha automatico

eu tentei adicionar o window.close(); no final da função mais não deu certo alguém tem alguma sugestão ?

4 Respostas

aechiara

não da para fazer chamadas assincronas e no onSuccess fechar a janela ?

R

algo como isso aqui ?

function showRecord(target, recid){
	    var record;
	 
	    new Ajax.Request("InserirLicitacaoAction", { ----------- aqui e o nome da minha Action
	        parameters: {id: recid},
	        onSuccess: function(response) {
	            record = response.responseJSON.record;
	        }
	    });	 
	    if (!record) {
	        showError("Record " + recid + " not found");
	    }else{
	        target = $('target');
	        target.down('.recid').update(record.id);
	        target.down('.desc').update(record.description);
	        target.down('.status').update(record.status);
	    }
	}

como posso adaptar essa função no meu JS acima ?

aechiara

algo assim:

function waitResponseToCloseWindow()
{  
    var record;  
  
    new Ajax.Request("SUA_ACTION_AQUI", 
    {  
        parameters: {parameters_aqui},  
        onSuccess: function(response)
        {  
            window.close();  
        }  
    });
R

Resolvido galera

minha solução

<html>
	<head>
	    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://localhost:8080/sisrec/jsp/licitacao/finalizarPagina.jsp">
	</head>
	<body onload="finalizar()">
		<script>
		  function finalizar() {
			  try { 
				  window.opener.finalizouAssinatura();
			  } catch(e) {
			    alert("Não foi possível concluir a assinatura");
			  }
		  }
		</script>
	</body>
</html>

e na pagina finalizarPagina.jsp coloquei um window.close dentro de uma função JS

Criado 22 de julho de 2010
Ultima resposta 29 de jul. de 2010
Respostas 4
Participantes 3