Ir para conteúdo

POWERED BY:

Arquivado

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

efren

envio de dados

Recommended Posts

Olá galera.

 

Meu problema é chato, dei uma olhada nesse fórum inteiro e não consegui achar uma colução, pois bem dêem uma olhada nos códigos abaixo:

 

 

 

existe uma pagina com form e este form chama esta função.

 

function enviaFormGravaContato(){	recuperaGravaContato(document.getElementById("form").nome.value,document.getElementById("form").telefone.value,document.getElementById("form").email.value,document.getElementById("form").comentario.value);	alert(document.getElementById("form").nome.value);//primeiro ALERT}

 

a função acima chama esta, logo abaixo,lembrando que o objeto XMLHttp ja esta instaciado na variavel "oHTTPRequest":

 

function recuperaGravaContato(nome,telefone,email,comentario){	criaXMLHTTP();	var oHTTPRequest = http_request; 	oHTTPRequest.open("post", "usuarios/gravaContato.asp", true);	oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	oHTTPRequest.onreadystatechange = function() {		var htmlLoading="";		htmlLoading+="<div id=\"dvLoading\" style=\"position:center; width:auto; height:auto; padding-top:100px; z-index:10; text-align:center; \">";		htmlLoading+=" <img border=\"0\" src=\"/_images/carregandoazul.gif\" />";		htmlLoading+="<br/>";		htmlLoading+="<label style=\"text-align:center; color:#0000CC;\">Carregando...</label>";		htmlLoading+="</div>";		if (oHTTPRequest.readyState == 1){			document.getElementById("divCorpo").style.display = 'none';			document.getElementById("divCarrega").innerHTML = htmlLoading;			document.getElementById("divCarrega").style.display = 'block';		}		if (oHTTPRequest.readyState == 4) {			if(oHTTPRequest.status == 200 || oHTTPRequest.status == 404 || oHTTPRequest.status == 500) {				document.getElementById("divCorpo").innerHTML = oHTTPRequest.responseText;			}else{				document.getElementById("divCorpo").innerHTML = 'falha';			}			document.getElementById("divCarrega").style.display = 'none';			document.getElementById("divCorpo").style.display = 'block';			}   		}		alert(nome);//segundo alert		var dados="nome="+nome+				"&telefone="+telefone+				"&email="+email+				"&comentario="+comentario;		alert(dados);//terceiro alert		oHTTPRequest.send(dados);}

a pagina gravaContato, que é a pagina chamada pelo codigo acima esta escrito ad

 

<% Response.Charset="ISO-8859-1" %><!--#include file="../_conBD/conexao.asp" --><%if session("logon")<>"usr" then	response.Redirect("login.asp")else	dim nome,telefone,email,comentario	nome=(request.Form("nome"))	telefone=(request.Form("telefone"))	email=(request.Form("email"))	comentario=(request.Form("comentario"))	set dataset = conexao.execute("INSERT INTO sugestao(nome,telefone,email,comentario,situacao) VALUES ('"&nome&"','"&telefone&"','"&email&"','"&comentario&"','0')")	conexao.close	session("gravaContato")="Obrigado, sua sugestão foi enviada, logo entraremos em contato."	response.Redirect("indexContato.asp")end if%>

meu problema é o seguinte:

 

o usuario tenta postar um formulário, se o seu nome for Wesley Figueira Júnior,

no banco de dados estará assim:WesleyFigueirajúnior

ou seja, sem espaços e com a acentuação truncada.

 

bom seguindo os passos da variavel,

1-já que no primeiro alert(), que está comentado acima no primeiro código ele mostra o nome perfeitamente.

2-no segundo alert(), que está comentado acima no segundo código ele, também, mostra o nome perfeitamente.

3-no terceiro alert(), que está comentado acima no terceiro código ele mostra todo o texto que será enviado perfeitamente.

 

então conclui que é o método "send" que esta trocando as variaveis.

já tentei "Response.Charset="ISO-8859-1"", entre outros mas não consigo resolver esse problema.

 

 

alguém pode me dar uma luz?

valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar escape() na hora de capturar os valores do form.

 

assim

 

function enviaFormGravaContato(){	recuperaGravaContato(escape(document.getElementById("form").nome.value))}

falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso, usar escape na hora de enviar e decodificar em UTF-8 na página asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

rola sim, vou começar a analizar quais os mais frequentes...valeu

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.