Ir para conteúdo

POWERED BY:

Arquivado

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

InSoNiA

[Resolvido] Enviando dados via formulario

Recommended Posts

Olá pessoa como vai?

 

Estou começando a trabalhar com AJAX nos projetos que desenvolvo. Minha atual dificuldade é a seguinte: Não estou conseguindo enviar e-mails via formulários da um erro tosco, fiquei hoje o dia todo alterando aqui e la para ver se conseguia mas não vai nem a PAU.

 

O erro que dá é o seguinte: Linha 1, Caractere 33, Erro ")" Esperado, Código 0;

O problema é que utilizo o mesmo código em outro site e funciona.

 

 

Uso um script em AJAX somente para chamar os LINKS de maneira que não tenha REFRESH a cada clique.

 

Uso o seguinte código:

// JavaScript Document
var xmlHttp
function chaAjax(str) {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Seu navegador são suporta HTTP Request")
return
}
var url=str
if(url.indexOf("?")==-1) {
url=url+"?"
} else {
url=url+"&"
}
url = url + "sid="+Math.random()
document.getElementById("aguarde").innerHTML="<center><br><br><img src='imagens/carregando.gif' title=''> Carregando...</center>";
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged() { 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
	var texto = xmlHttp.responseText;
	texto = texto.replace(/\+/g," ");
	texto = unescape(texto);
	document.getElementById("txtHint").innerHTML = texto;
	document.getElementById("aguarde").style.display = "none";
  }
  if(xmlHttp.readyState==1) {
	document.getElementById("aguarde").style.display = "block";
  }
  if(xmlHttp.readyState==2) {
	document.getElementById("aguarde").style.display = "block";
  }
  if(xmlHttp.readyState==3) {
	document.getElementById("aguarde").style.display = "block";
  }
} 

function GetXmlHttpObject() { 
var objXMLHttp = null
  if (window.XMLHttpRequest) {
	objXMLHttp=new XMLHttpRequest()
  } else if (window.ActiveXObject) {
	  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
  return objXMLHttp
}

// Link
function chama(str) {
  chaAjax(str);
}

Ai no formulário que tem na outra página uso assim:

<form id="formContato" name="formContato" action="java script:chama('contato/envia.php?nome='+nome);" onsubmit="return checaContato();">

 

E no meu código JS "checaContato" ta assim:

<div class='codetop'>CODE</div><div class='codemain' style='height:300px;white-space:pre;overflow-y:auto'>function checaContato(form) {

if (formContato.txNome.value == "") {

alert("Digite seu nome!");

formContato.txNome.focus();

return (false);

} else {

nome = document.formContato.txNome.value;

return (true);

}

}</div>

 

Alguem poderia me dar uma luz, e se tiver criticas caso tenha alguma maneira melhor de enviar formularios podem me falar.

 

desde já agradeço.

 

InSoNiA

Compartilhar este post


Link para o post
Compartilhar em outros sites
Deve estar sobrando/faltando uma "(", dificil olhar o jeito eh você ir debugando. Geralmente qdo tem erros assim comigo, eu copio todo o codigo num arquivo, depois vou colocando function por function ate saber qual a que está ocasionando o problema. Depois q dá pra isolar o trecho do codigo, ir analisando linha a linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado andreia_sp vou seguir sua recomendação no debug, embora quando eu retiro a variavel nome do FORM não da o erro, porém nao passa as variaveis.

 

<form id="formContato" name="formContato" action="java script:chama('contato/envia.php');" onsubmit="return checaContato();">

 

Se eu fizer assim como esta acima não da erro, porém não tenho como passar as variaveis para o PHP

 

Se alguem mais tiver alguma idéia eu agradeço

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só me responde uma coisa...

 

Onde está a variavel "nome", que é chamada nesta linha:

<form id="formContato" name="formContato" action="java script:chama('contato/envia.php?nome='+nome);" onsubmit="return checaContato();">

Veha que você está passando a funçãao "chama('contato/envia.php?nome='+nome)" com uma variavel do JS chamada nome, mas você nao mostrou onde está declarando ela....

 

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Darkdemo tudo bem?

 

Mostrei sim olha:

 

function checaContato(form) {

if (formContato.txNome.value == "") {

alert("Digite seu nome!");

formContato.txNome.focus();

return (false);

} else {

nome = document.formContato.txNome.value; //AQUI

return (true);

}

}

 

Observei que não se trata de erro de código e sim como estou usando, pois fiz vários e vários teste, estou preso nisso a dias e percebi que os formulários funcionam quando estão na mesma PÁGINA quando vem dentro da DIV através da função CHAMA ai da esse erro tosco que to morrendo de raiva AFFF...

 

Se puder me dar uma luz agradeço.

 

P.S.:

Para ter um exemplo mais claro acesse www.riopretoguia.com.br/teste neste endereço coloquei um FORM na mesma página, e outro quando clica em CONTATO que vem dentro da DIV através da função CHAMA os código é o mesmo.

 

Tbm observei que na pagina contato se eu deixar o campo em VAZIO e clicar em enviar ele da o ALERT ou seja esta chamando o script normalmente, até porque é o mesmo. Só mudei os nomes das VARS pra não dar bug.

 

Espero ter sido claro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. seguinte.. a variavel "nome" está dentro da função.. logo, ela não é uma variavel Global, ou seja, você só pode utilizá-la dentro da função especificada...

 

Torne ela global, assim?

 

var nome;

function checaContato(form) {
if (formContato.txNome.value == "") {
alert("Digite seu nome!");
formContato.txNome.focus();
return (false);
} else {
nome = document.formContato.txNome.value; 
return (true);
}
}

Agora sim a variavel "nome" é global, e pode ser usada em qlqr parte da página...

 

Testa isso ai e me avisa....

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Darkdemo.

 

Não funcionou cara, coloquei exatamente como colocou e persiste o mesmo erro. o tal do ")".

 

Será que tem alguma outra possibilidade? Sinceramente to pensando até em tirar o AJAX e fazer tudo só em PHP como fazia antes, pois esse negócio ta muito chato, já to a dias e procurei em um monte de lugar e nada encontrei. Será que niguém nunca fez como estou fazendo? hUAhua tem que rir pra não chora eheheh

 

Galera se alguém tiver uma luz por favor poste aqui qq coisa idéia ou sei-la.

 

OBS: Já coloquei o código embutido na pagina do CONTATO sem usar include (src="nomedoScript.js") e da na mesma.

 

Agradeço quem puder me ajudar.

 

InSoNiA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma coisa q eu percebi agora....

 

Na função

 

function checaContato(form) {
if (formContato.txNome.value == "") {
alert("Digite seu nome!");
formContato.txNome.focus();
return (false);
} else {
nome = document.formContato.txNome.value;
return (true);
}
}

você está colocando um parametro chamado "form", mas na chamada desta função:

 

<form id="formContato" name="formContato" action="java script:chama('contato/envia.php?nome='+nome);" onsubmit="return checaContato();">

Repare que ta assim "onsubmit="return checaContato();", cade o parametro dentro dos parenteses ?????

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi!

 

Cara realmente ta dificil esse lance. Na verdade entendo o básico de JS, em todos os scripts que checam a consistencia dor formulários uso assim e funcionam.

 

Mesmo assim coloquei return checaContato(form); e também fiz um teste retirando o form dentro dos () na function, em amabos os teste continuou o mesmo erro.

 

Vlw pela ajuda que esta me dando.

 

Ta dificil esse lance, não entendo como funciona, pois sites que não dão REFRESH (com conteudo dentro de um DIV) o povo não usa formulários? entranho.

 

Se alguém puder ajudar por favor poste aqui pra mim, pois em um dos projetos que fiz usando esse esquema já estou tirando antes que o cara venha me bater hUAHUAauhUA Ai ai... :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quem falou que o povo nao usa AJAX para formulários ???

 

Eu uso sim..... e sempre dão certo....

 

Vou te passar um exemplo dos que eu uso... mas não é PHP, eu só uso ASP

 

mail.js:

 

function sendOrc()
{
xmlHttp1=GetXmlHttpObject();

var url="EnviaOrc.asp";
var nome = document.getElementById("nome");
var email = document.getElementById("email");
var ddd = document.getElementById("ddd");
var fone = document.getElementById("fone");
var dddcel = document.getElementById("dddcel");
var cel = document.getElementById("cel");
var prod = document.getElementById("prod");
var zona = document.getElementById("zona");
var know = document.getElementById("know");
var msg = document.getElementById("msg");
if (nome.value == "")
{
	alert('Por favor, preencha o nome!')
	nome.focus();
	return
}
if (email.value == "")
{
	alert('Por favor, preencha o e-mail!')
	email.focus();
	return
}
if (email.value.indexOf("@") == -1)
{
	alert("Atenção. E-mail inválido !");
	document.getElementById("email").focus();
	return;
}

if (ddd.value == "")
{
	alert('Por favor, preencha o ddd!')
	ddd.focus();
	return
}
if (fone.value == "")
{
	alert('Por favor, preencha o telefone!')
	fone.focus();
	return
}

var chk = document.getElementsByTagName("input");
var valorZona = "";
var valorProd = "";
for(i=0;i<chk.length;i++)
{
	if(chk[i].getAttribute("type") == "checkbox")
	{
		if(chk[i].getAttribute("tipo") == "zona")
		{
			if(chk[i].checked)
			{
				valorZona = valorZona + chk[i].value + ";";
			}
		}
		if(chk[i].getAttribute("tipo") == "prod")
		{
			if(chk[i].checked)
			{
				valorProd = valorProd + chk[i].value + ";";
			}
			
		}
		
	}
	
	
}
if(valorProd == "")
{
	alert('Por favor, selecione ao menos 1 produto!');
	prod.focus();
	return;
}
			
if (know.value == "0")
{
	alert('Por favor, indique como conheceu a Monlline!');
	know.focus();
	return;
}
if (msg.value == "")
{
	alert('Por favor, digite a mensagem!');
	msg.focus();
	return;
}
var url = url + "?Nome=" + nome.value;
var url = url + "&Email=" + email.value;
var url = url + "&Ddd=" + ddd.value;
var url = url + "&Fone=" + fone.value;
var url = url + "&DddCel=" + dddcel.value;
var url = url + "&Cel=" + cel.value;
var url = url + "&Prod=" + valorProd;
var url = url + "&Zona=" + valorZona;
var url = url + "&Know=" + know.value;
var url = url + "&Msg=" + msg.value.replace(/\n/g, "<br>");

xmlHttp1.onreadystatechange=stateChanged;
xmlHttp1.open("GET",url,true);
xmlHttp1.send(null);

var objBody = document.getElementsByTagName("body").item(0);

		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlay');
		objOverlay.onclick = function() { document.getElementById("overlay").style.display = "none"; window.location.href = "home.asp" }
		objBody.appendChild(objOverlay);
		
		var divImg = document.createElement("div");
		divImg.setAttribute('id','loading');
		objOverlay.appendChild(divImg);
				
document.getElementById("loading").innerHTML = "<img src = 'ajax-loader(5).gif' border = '0'> <br> Enviando";
		
		
}
	
function stateChanged() 
{ 
if (xmlHttp1.readyState==4)
{ 
document.getElementById("loading").innerHTML = "E-mail enviado com sucesso! <br> Clique na tela para continuar.";


}
}

EnviaOrc.asp

 

<%
Response.AddHeader "Content-Type", "text/html; charset=iso-8859-1"
response.expires=-1

Nome = Request.QueryString("Nome")
Email = Request.QueryString("Email")
DDD = Request.QueryString("DDD")
Fone = Request.QueryString("Fone")
Dddcel = Request.QueryString("Dddcel")
Cel = Request.QueryString("Cel")
Prod = Request.QueryString("Prod")
Zona = Request.QueryString("Zona")
Know = Request.QueryString("Know")
Msg = Request.QueryString("Msg")

If Know = "1" Then
know = "Google"
End if
If Know = "2" Then
know = "Mix Tv"
End if
If Know = "3" Then
know = "Folha"
End if
If Know = "4" Then
know = "Pág. Amarelas"
End if

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Bd/Monlline.mdb")
Dia = Day(now())
Mes = Month(now())
Ano = Year(Now())

Hoje = Dia & "/" & Mes & "/" & Ano
SQL = "INSERT INTO Tbl_Mail (Know,Data) VALUES ('" & Know & "','" & Hoje & "')"
Set Rs = Conn.Execute(SQL)

Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
objCDOSYSCon.Fields.update

Set objCDOSYSMail.Configuration = objCDOSYSCon
objCDOSYSMail.From = "--"
objCDOSYSMail.To = "--"
objCDOSYSMail.Subject = "--"

objCDOSYSMail.HtmlBody = "<font face = 'Verdana' size = '2'><b>Dados do cliente:</b><br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Nome:</b> " & Nome & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>E-mail:</b> " & Email & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Fone: </b>" & Ddd & "-" & Fone & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Celular:</b> " & Dddcel & "-" & Cel & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Produtos:</b> " & Prod & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Região de SP:</b> " & Zona & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Como nos conheceu: </b>" & Know & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b>Mensagem: </b>" & Msg & "<br>"
objCDOSYSMail.HtmlBody = objCDOSYSMail.HtmlBody & "<b><hr></b>"

objCDOSYSMail.fields.update

objCDOSYSMail.Send

Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
%>

E a página do form, Orcamento.asp

 

<script>
if(navigator.appName.indexOf('Internet Explorer')>0)
{
	document.write("<link href='orcIE.css' rel='stylesheet' type='text/css'>");
}
else
{
	document.write("<link href='orcFF.css' rel='stylesheet' type='text/css'>");
}
</script>		
<script src="mail.js"></script>
<script>
var numero;
function Valida(obj)
{
var valor = document.getElementById(obj).value;
var char = valor.substr(valor.length-1);
var numeros = new Array();
numeros[0] = "1";
numeros[1] = "2";
numeros[2] = "3";
numeros[3] = "4";
numeros[4] = "5";
numeros[5] = "6";
numeros[6] = "7";
numeros[7] = "8";
numeros[8] = "9";
numeros[9] = "0";

for (i=0;i<numeros.length;i++)
{
if(char == numeros[i])
{
numero = "sim";
break;
}
else
{
numero = "nao";
}
}

if (numero == "sim")
{
document.getElementById(obj).value = valor;
}
else
{
document.getElementById(obj).value = valor.substr(0,valor.length-1); 
}
}
</script>
<body>
<div id = "scr">
</div>
<div id = "all">
<div id = "txt_h">
<span id = "txt_h_span">
Solicitação de Orçamentos 
</span>
</div>

<div id = "div_form">
<div id = "main">
<br />
<form id = "mail">
<span class="span">
* Nome:
</span>
<input id = "nome" size = "50" class="chk"/>
<br /><br />
<span class="span">
* E-mail:
</span>
<input id = "email" size = "50" class="chk" />
<br /><br />
<span class="span2">
* Telefone:
</span>
<input id = "ddd" size = "3" class="chk" maxlength="2" onKeyUp="Valida('ddd')"/>
<input id = "fone" size = "10" class="chk"  maxlength="8" onKeyUp="Valida('fone')"/>
<br /><br />
<span class="span1">
Celular:
</span>
<input id = "dddcel" size = "3" class="chk"  maxlength="2" onKeyUp="Valida('dddcel')"/>
<input id = "cel" size = "10" class="chk" maxlength="8" onKeyUp="Valida('cel')"/>
<br /><br />
<span class="span">
* Produto:
</span>
<br />
<input type="checkbox" name="prod" id = "prod" tipo = "prod" value = "Piso Laminado" /><span class="chk"> Piso Laminado</span>
<input type="checkbox" name="prod" id = "prod" tipo = "prod" value = "Carpete" /> <span class="chk">Carpete</span>
<input type="checkbox" name="prod" id = "prod" tipo = "prod" value = "Tapete" /> <span class="chk">Tapete</span>
<input type="checkbox" name="prod" id = "prod" tipo = "prod" value = "Cortina" /> <span class="chk">Cortina</span>
<input type="checkbox" name="prod" id = "prod" tipo = "prod" value = "Persiana" /> <span class="chk">Persiana</span>
<br /><br />
<span class="span">
Se estiver em São Paulo, marque a sua região:
</span>
<br />
<input type="checkbox" name="zona" id = "zona" tipo = "zona" value = "Norte" /> <span class="chk">Norte</span>
<input type="checkbox" name="zona" id = "zona1" tipo = "zona" value = "Sul" /> <span class="chk">Sul</span>
<input type="checkbox" name="zona" id = "zona2" tipo = "zona" value = "Leste" /> <span class="chk">Leste</span>
<input type="checkbox" name="zona" id = "zona3" tipo = "zona" value = "Oeste" /> <span class="chk">Oeste</span>
<input type="checkbox" name="zona" id = "zona4" tipo = "zona" value = "Centro" /> <span class="chk">Centro</span>
<br /><br />
<span class="span">
* Como ns conheceu?
</span>
<br />
<select name ="know" id = "know" class="chk">
<option value = "0"> -- Selecione -- </option>
<option value = "1"> Google </option>
<option value = "2"> MixTv </option>
<option value = "3"> Folha </option>
<option value = "4"> Pág. Amarelas </option>
</select>
<br /><br />
<span class="span">
* Mensagem:
</span>
<br />
<textarea id = "msg" cols="40" rows="5" class="chk" wrap="virtual"></textarea>
<br /><br />
<input type="button" value = "Enviar" class = "button" onClick="sendOrc()"/>
</form>
<span id = "obg">
* = Campos obrigatórios
</span>
</div>
</div>
</div>
</body>

Funciona muito bem ......

 

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi legal! Só que você ussa o carregamento das páginas como eu usei em www.riopretoguia.com.br?

 

Se usar tem como me passar seu código AJAX?

 

Vlw

 

Se alguém puder me ajudar a corrigir o problema posta aqui. Ta ficando grande esse POST to vendo que vou ter que abriri outro logo logo ehhehe :wacko:

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está perguntando se eu uso AJAX para carregar minhas paginas ???

Sim. Eu uso AJAX para carrega-las....

 

E uso esta função:

 

var url;
var xmlHttp=null;
function showPag(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
url=str;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
if (xmlHttp.readyState == 1) { 
document.getElementById("conteudo").innerHTML="<img src='loader.gif'> <br> <font face = 'verdana' color = 'CC0000' size = '2'> <b>Carregando...</b></font>";
}
return url;
}


function stateChanged() 
{ 
if (xmlHttp.readyState==4 && xmlHttp.status == 200)
{ 
var resultado = document.getElementById("conteudo").innerHTML="<iframe name = 'hindex' id='hindex' src='" + url + "' width = '800px' height = '580px' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' target='_self'></iframe>";
}
}


function GetXmlHttpObject()
{
 if (window.XMLHttpRequest) {   
		   a=new XMLHttpRequest(); } 
	   else {  
		 try {   
			a=new ActiveXObject("Msxml2.XMLHTTP");  
		 }	 
		 catch(e) {  
		   try {   
			  a=new ActiveXObject("Microsoft.XMLHTTP"); 
		   }	 
		   catch(e) { 
			  a=false;   
		   }  
		 }  
	   }   
	   return a;  
	 }

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Darkdemo, pelo que percebi voce carrega seu conteudo em um IFRAME vou testar, talvez possa estar ai o problema de o JS não funcionar no meu caso!

 

Vou testar e posto aqui, muitíssimo obrigado pela ajuda.

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Darkdemo, por favor me respondi algumas coisas, só pra desencargo de conciencia.

 

1. Você usa iframe mesmo nas suas páginas né

2. Com iframe na minha opnião não rola, pois se o tamanho das páginas for variavel fica aparecendo aquela barra ao lado

3. Se pra não piscar "precisar de iframe", não preciso usar AJAX para não dar o REFRESH, uso como antigamente

 

Obs.: Sou novato perto do conhecimento que você tem, assim sendo por favor me corrija, só coloquei meus pontos de vista, e minha situação atual, pois preciso arrumar uma solução para meu caso. Não é possível não poder usar DIV para uso "com" AJAX como fiz.

 

Postei em vários FORUM's ngm responde.

 

Será que alguém poderia AJUDAR, que tenha conhecimento, idéias enfim, por favor me dêem uma ajuda AE.

 

Obrigado T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Darkdemo, percebi uma coisa, creio que isso deve ser o erro. (Antes desculpa criar um nova janela, é para não ficar confuso) e ficar mais com cara de troca de idéia mesmo FORUM eheheh se tiver errado fecha o tópico.

 

Cara é o seguinte, tinha feito um outro site usando esse meu script em AJAX para não dar REFRESH, só que na semana passada eu retirei todo o código, pois não sei se lembra comentei num post acima.

 

O lance é o seguinte, lebrei que usando o SCRIPT que uso, as páginas não imprimem os CARACTERES "+, -, etc..." Pode estar ai a CHAVE do ERRO.

 

 

Por exemplo, tinha uma página com vário textos com LINKS, os textos eram + Detalhes, porém quando executava a página no NAVEGADOR, só aparecia o "Detalhes" o sinal de + "COMIA, SUMIA SEI-LA o que acontecia". Enfim pode ser erro de sintaxe ou delimitação, coisas desse tipo.

 

Fiz um teste executando o form com a TARGET="_blank" e na URL e vi que no lugar da variavel fica %20 no lugar do sinal +, ou seja ele não esta sendo interpretado, ta pegando um espaço VAZIO.

 

Por favor, além do Darkdemo, qq um que ler este post de total atenção, pois creio que resolvendo isso, podeá ser de grande ajuda para muita gente agora e no futuro qdo alguém precisar utilizar e enfrentar os problemas que estou enfrentando.

 

Obs: estou usando o seguinte código nas minhas páginas por causa de erros de ACENTUAÇÃO:

<?php

header("Content-Type: text/html; charset=ISO-8859-1", true);

?>

 

+ Detalhes em www.riopretoguia.com.br/teste - Clique em Contato e verá!

 

InSoNiA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Darkdemo, por favor me respondi algumas coisas, só pra desencargo de conciencia.

 

1. Você usa iframe mesmo nas suas páginas né

2. Com iframe na minha opnião não rola, pois se o tamanho das páginas for variavel fica aparecendo aquela barra ao lado

3. Se pra não piscar "precisar de iframe", não preciso usar AJAX para não dar o REFRESH, uso como antigamente

 

Obs.: Sou novato perto do conhecimento que você tem, assim sendo por favor me corrija, só coloquei meus pontos de vista, e minha situação atual, pois preciso arrumar uma solução para meu caso. Não é possível não poder usar DIV para uso "com" AJAX como fiz.

 

Postei em vários FORUM's ngm responde.

 

Será que alguém poderia AJUDAR, que tenha conhecimento, idéias enfim, por favor me dêem uma ajuda AE.

 

Obrigado T+

Respondendo...

 

NESTE caso em especifico eu usei iFrames, mas você nao precisa usar se você nao quiser.

Basta colocar no "innerHTML" o "= xmlHttp.responseText", ao inves de colocar o iframe... como neste outro código que uso no mesmo site:

 

function showPag(str)
{ 
xmlHttp=GetXmlHttpObject();
url=str;
url = url + "?=" + Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
if (xmlHttp.readyState == 1) { 
document.getElementById("conteudo").innerHTML="<center><img src='loader.gif'> <br> <font face = 'verdana' color = 'CC0000' size = '2'> <b>Carregando...</b></font></center>";
}
return url;
}


function stateChanged() 
{ 
if (xmlHttp.readyState==4 && xmlHttp.status == 200)
{ 
var resultado = document.getElementById("conteudo").innerHTML=xmlHttp.responseText;
}
}

function gravaForn()
{
	xmlHttp=GetXmlHttpObject();
	url="GravaForn.asp";
	url = url + "?=" + Math.random();
	url = url + "&N=" + document.getElementById("nome").value;
	url = url + "&D=" + document.getElementById("desc").value;	
	url = url + "&L=" + document.getElementById("logo").value;
	url = url + "&T=" + document.getElementById("tipo").value;	
	xmlHttp.onreadystatechange=salvou;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	if (xmlHttp.readyState == 1) { 
	document.getElementById("tabela").innerHTML="<center><img src='loader.gif'> <br> <font face = 'verdana' color = 'CC0000' size = '2'> 	<b>Carregando...</b></font></center>";
}
}
function salvou() 
{ 
if (xmlHttp.readyState==4 && xmlHttp.status == 200)
{ 
document.getElementById("tabela").innerHTML=xmlHttp.responseText;
document.getElementById("nome").value = "";
document.getElementById("desc").value = "";
document.getElementById("tipo").value = "";
document.getElementById("logo").value = "";
}
}

Abraços...

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.