Jump to content


Photo

Transmitindo Variáveis Entre Páginas: Getqueryvariable


  • Faça o login para participar
3 replies to this topic

#1 franchico69

franchico69

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 28/05/2006, 12:15

Pessoal,

Tô com o seguinte problema no cod. java script:

A - Onde tem "espaço" aparece "%20"
B - Onde tem acentuação tb aparece uns caracteres estranhos.

Alguem sabe como resolver esse problema??? Estou precisando mesmo da ajuda de vcs



SEGUE ABAIXO O CODIGO DA PAGINA PRINCIPAL
___________________________________________________________________________________________

<html>

<head>

<title> Transmitindo variáveis entre páginas </title>

<script>
function EnviaeConfirma() {

var cnome = document.meuform.nome.value;
var cemail = document.meuform.email.value;

var estselec = document.meuform.estado.selectedIndex
var cest = document.meuform.estado.options[estselec].value;

var fp;
for (c=0; c<document.meuform.formapagto.length; c++)
{
if (document.meuform.formapagto[c].checked)
{
fp = document.meuform.formapagto[c].value;
}
}

var lp;
var rc;
var so;
if (document.meuform.linguagprogr.checked) {
lp = "sim";
} else {
lp = "não";
}
if (document.meuform.redecomp.checked) {
rc = "sim";
} else {
rc = "não";
}
if (document.meuform.sistoperac.checked) {
so = "sim";
} else {
so = "não";
}

window.open("confirmacaodados.htm?cnome="+ cnome + "&cemail=" + cemail + "&cest=" + cest + "&fp=" + fp + "&lp=" + lp + "&rc=" + rc + "&so=" + so,"","menubar=no,location=no,toolbar=no,status=no,scrollbars=no,resizable=no,width=600,height=400,left=0,top=0")

}
</script>




</head>


<body>

<form name="meuform" onSubmit="return EnviaeConfirma(this)" method="post" action="endereço do seu script cgi aqui">
Nome:<br><input type="text" name="nome"><br>
E-mail:<br><input type="text" name="email"><br>

Estado:<br><select name="estado">
<option value=""><option value="AC">AC<option value="AL">AL<option value="AM">AM<option value="AP">AP<option value="BA">BA<option value="CE">CE<option value="DF">DF<option value="ES">ES<option value="GO">GO<option value="MA">MA<option value="MG">MG<option value="MS">MS<option value="MT">MT
<option value="PA">PA<option value="PB">PB<option value="PE">PE<option value="PI">PI<option value="PR">PR<option value="RJ">RJ<option value="RN">RN<option value="RO">RO<option value="RR">RR<option value="RS">RS<option value="SC">SC<option value="SE">SE<option value="SP">SP<option value="TO">TO
</select>
<br><br>

<font color="#00CED1F"><b>Formas de pagamento:</b></font><br>
<input type="radio" name="formapagto" value="Boleto bancário"> Boleto bancário<br>
<input type="radio" name="formapagto" value="Cartão de crédito"> Cartão de crédito<br>
<input type="radio" name="formapagto" value="Pagar ao receber via Sedex"> Pagar ao receber via Sedex<br><br>

<font color="#00CED1"><b>Livros de seu interesse:</b></font><br>
<input type="checkbox" name="linguagprogr" value="Linguagens de Programação"> Linguagens de Programação<br>
<input type="checkbox" name="redecomp" value="Redes"> Redes<br>
<input type="checkbox" name="sistoperac" value="Sistemas Operacionais"> Sistemas Operacionais<br><br>

<input type="submit" value="Enviar"> <input type="reset" value="Limpar">
</form>


</body>
</html>

___________________________________________________________________________________________



SEGUE ABAIXO O CODIGO DA PAGINA QUE RECEBERÁ AS VARIÁVEIS
___________________________________________________________________________________________

<html>
<head><title> Confirmação de dados </title>

<script>
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
alert('Variável ' + variable + ' não encontrada');
}
</script>


</head>

<body bgcolor="#000000" text="beige" link="#00CED1" alink="#1E90FF" vlink="#00CED1">
<br><br>
<center><h3><font face="Verdana" color="#00CED1"> Dados enviados: </font></h3></center><br>

<blockquote>

<font color="#00CED1">Nome:</font> <script> document.write( getQueryVariable("cnome") ); </script><br>
<font color="#00CED1">E-mail:</font> <script> document.write( getQueryVariable("cemail") ); </script><br>
<font color="#00CED1">Estado:</font> <script> document.write( getQueryVariable("cest") ); </script><br>
<font color="#00CED1">Forma de pagamento:</font> <script> document.write( getQueryVariable("fp") ); </script><br><br>

<font color="#00CED1"><b>Livros de interesse:</b></font><br>
<font color="#00CED1">Linguagens de Programação:</font> <script> document.write( getQueryVariable("lp") ); </script><br>
<font color="#00CED1">Redes:</font> <script> document.write( getQueryVariable("rc") ); </script><br>
<font color="#00CED1">Sistemas Operacionais:</font> <script> document.write( getQueryVariable("so") ); </script><br>

</blockquote>
<br><br>

<center><a href="#" onClick="window.close()"><b>Fechar</b></a></center>

</body>
</html>
___________________________________________________________________________________________


Agradeço a ajuda

Franchico69

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 28/05/2006, 15:54

escape() pra converter para os "caracteres estranhos", unescape() para trazer de volta.
Klaus Paiva
Conheça também: Taperás

#3 franchico69

franchico69

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 28/05/2006, 23:08

escape() pra converter para os "caracteres estranhos", unescape() para trazer de volta.


Klaus, desculpe a minha ignorância mas vc falou russo p mim :)
O meu problema é q eu tenho uma vaga idéia (muito vaga mesmo) de javascrip. Encontrei essse script em um forum desses da vida, q por conhecidencia era justamente o q eu estava precisando, a pesar desses problemas.

Sei q o pessoal ñ gosta de dar nada pronto, sem esforço por parte de quem tem a dúvida, mas pode abrir uma exceção para esse ignorante?


PS.: Parece ser um script bem interessante pois ñ o encontrei em nenhum outro lugar, concorda?

Agradeço a antenção oferecida por vc.

franchico69

#4 Leandro Mercês Xavier

Leandro Mercês Xavier

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado
  • Localidade:BH

Posted 29/05/2006, 12:00

As funções escape e unescape estão obsoletas no javascript 1.5, convém substituí-las pelas funções encodeURI e decodeURI.

Obs.: Os links seguem para a referência do JavaScript 1.5 (em inglês).
http://www.leandromerces.org/blog/
---------------------------------------------------------------
JavaScript 2 e o futuro da web




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq