Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

saulo-jitsu

[Resolvido] window.open dentro de um response.write

Recommended Posts

Fala Galera, beleza??

 

Tô com um problema meio bobo, mas que não consigo resolver.

Estou criando uma função javascript dentro de um response.write, só q estou com problemas.

Segue o código para vcs verem.

Response.Write vbCrLf & "<script>function Abrirnovo() { var frm = document.createElement('form'); frm.name = 'frmXPED';"
	Response.Write vbCrLf & "frm.action ='java script:window.open('teste.asp','width='+screen.availWidth-10+',height='+screen.availHeight-30+',top=0,left=0,scrollbars=yes,resizable=no,location=no,menubar=no,toolbar=no');' frm.method = 'POST';"
	Response.Write vbCrLf & "var user = document.createElement('input'); user.type = 'hidden'; user.name = 'blablabla'; user.value = '" & Session("login") & "'; frm.appendChild(user);"
	Response.Write vbCrLf & "var pwd = document.createElement('input'); pwd.type = 'hidden'; pwd.name = 'blablabla'; pwd.value = '" & Session("pwd") & "'; frm.appendChild(pwd);"
	Response.Write vbCrLf & "document.appendChild(frm); frm.submit(); }</script>"

O problema está na segunda linha. Parece que o plic (') do window.open está fechando o action, aí dá problema.

Me ajudem com sugestões de como fazer isso, ou de como abrir a pagina "teste.asp", em outra janela, de outra forma.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi.

vai ficar assim?

Response.Write vbCrLf & "frm.action = [b]chr(34)[/b] java script:window.open('teste.asp','width='+screen.availWidth-10+',height='+screen.availHeight-30+',top=0,left=0,scrollbars=yes,resizable=no,location=no,menubar=no,toolbar=no'); [b]chr(34)[/b] frm.method = 'POST';"

Obrigado pela resposta.

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste seu JavaScript sozinho para ver se há algum erro nele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, eu copiei a mesma coisa em um html simples e está funcionando na boa.

olha só:

 

<html>
<head>
<script language="javascript">
//	var altura = screen.availHeight-30;
//	var largura = screen.availWidth-10;
</script>
</head>
<body>	
	<form name="ss" action="java script:window.open('teste.html','width='+screen.availWidth-10+',height='+screen.availHeight-30+',top=0,left=0,scrollbars=yes,resizable=no,location=no,menubar=no,toolbar=no');" method="post">
			   <input type="submit" name="vai" value="vai" >
	</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque javascript sem o espaco(java script)

se não funcionar, poste o codigo javascript pois tá zoado o codigo que colocaste acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, está sem espaço...

é que quando eu coloco dentro do "code" aqui fica assim. Vou postar normalmente pra ficar melhor.

 

**********

Response.Write vbCrLf & "<script>function EnviarXPED() { var altura = screen.availHeight-30; var largura = screen.availWidth-10; var frm = document.createElement('form'); frm.name = 'frmXPED';"
	Response.Write vbCrLf & "frm.action =chr(34)java script:window.open('http://200.200.200.200/main.aspx','width='+largura+',height='+altura+',top=0,left=0,scrollbars=yes,resizable=no,location=no,menubar=no,toolbar=no');chr(34) frm.method = 'POST';"
	Response.Write vbCrLf & "var user = document.createElement('input'); user.type = 'hidden'; user.value = '" & Session("login") & "'; frm.appendChild(user);"
	Response.Write vbCrLf & "var pwd = document.createElement('input'); pwd.type = 'hidden'; pwd.value = '" & Session("pwd") & "'; frm.appendChild(pwd);"
	Response.Write vbCrLf & "document.appendChild(frm); frm.submit(); }</script>"
**********

 

Detalhe: eu estou usando o chr(34) que é a aspa dupla(") pq se eu usar outras aspas, vai fechar o response.write, e se eu usar aspa simples, vai fechar antes do http.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

chr(34) é um código vb, você tem q usá-lo fora do seu response.write

 

exemplo:

 

Response.Write vbCrLf & "frm.action ="& chr(34) &"java script:window.open('http://200.142.96.102/XPED/main.aspx','width='+largura+',height='+altura+',top=0,left=0,scrollbars=yes,resizable=no,location=no,menubar=no,toolbar=no')"& chr(34) &" ;frm.method = 'POST';"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não foi especificado o nome da janela que será aberta.

Subtitua por:

 

<html>
<head>
<script language="javascript">
//	var altura = screen.availHeight-30;
//	var largura = screen.availWidth-10;
</script>
</head>
<body>	
	<form method="post" action="java script:window.open('teste.html','teste','width='+screen.availWidth-10+',height='+screen.availHeight-30+',top=0,left=0,scrollbars=yes,resizable=no,location=no,menubar=no,toolbar=no');">

			   <input type="submit" name="vai" value="vai" >
	</form>
</body>
</html>

Ao invés e utilizar o Response.Write em cada linha, utilize as tags "<%" e "%>" para separar códigos ASP de HTML.

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, como não consegui resolver o problema da forma q eu queria, eu fiz uma gambiarrinha...

no response.write eu chamei uma página intermediária em uma nova janela.

Dentro dessa nova janela, eu fiz a chamada para a página q eu queria. :D

Tá redondinho!!! rs

[]s a tds!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.