Ir para conteúdo

POWERED BY:

Arquivado

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

Rezinha

readyState não sai do 1...

Recommended Posts

Eu tenho que carregar o o formulário de uma página php para um div, porem meu código enquanto dá um onreadystatechange sai fora do laço assim que o readyState == 1.

 

Alguem tem alguma idéia de qual é o problema...Estou enviando o código pra vcs darem uma olhada...

 

 

function carregaFormJanela(cod,mun,campo){	if(cod)	{		xmlhttp = createXmlHttpRequestObject();		if(xmlhttp.readyState == 4 || xmlhttp.readyState == 0)		{			xmlhttp.open("GET", "htmlCadastros.php?inscricao="+cod+"cod="+mun, true);			xmlhttp.onreadystatechange = function(){				if(xmlhttp.readyState == 1)				{					campo.innerHTML = 'Carregando...';				}				if(xmlhttp.readyState == 4)				{					if(xmlhttp.status == 200)					{						htmlResponse = xmlhttp.responseText;						alert(campo);						campo.innerHTML = htmlResponse;					}					else					{						alert("Erro: "+xmlhttp.statusText);					}				}			}			xmlhttp.send(null);		}	}	else	{		campo.innerHTML = '';	}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

por favor gente...sério me ajudem... já faz mais de um mês que to com esse problema.. fui adiando.. e hj é o prazo final pra mim solucionar isso...obrigada pra quem puder dar uma olhada....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá obrigado por tentar ajudar ...mas a solução dada pro você não funcionou... ele continua apresentando o mesmo erro.... "xmlhttp is not defined" ..mas alguem tem alguma ideia ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho certeza que o problema não é nessa função..até pq tenho outras funções que utilizam a variavel xmlhttp e não apresentam problema algum... apenas essa....

 

//Gera o objeto para criação do documento xml ou htmlfunction createXmlHttpRequestObject(){	var xmlhttp = 0;	try	{		xmlhttp = new XMLHttpRequest();	}	catch(ee)	{		try		{			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");		}		catch(e)		{			try			{				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");			}			catch(E)			{				xmlhttp = false;			}		}	}	return xmlhttp;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

teria talvez algum relação com o fato de antes de chamar essa função eu chamo outra que usa a mesma variavel xmlhttp porem essa apenas preenche uns campos que ja existem na janela.. e essa que da problema cria novos campos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa é a minha pop-up que chama a função:

<?$campo1 = $_GET['campo1'];$campo2 = $_GET['campo2'];echo"<html>	<head>		<script type=\"text/javascript\" src=\"funcoes.js\"></script>				<script type=\"text/javascript\">			function retorna(ob)			{				var campos = ob.options[ob.selectedIndex].value;				var temp = new Array();				temp = campos.split('#');				window.opener.document.cadastro_produtor.inscricao.value = temp[0];				window.opener.document.cadastro_produtor.cpf_cnpj.value = temp[1];								var msg = window.opener.document.getElementById(\"cadastros\");				carregaFormJanela(temp[0],$campo2,msg);			}		</script>		<title>Consultar Inscri�o</title>		<link href=\"../../extras/style.css\" type=text/css rel=stylesheet>	</head>	<body>		<center><font class=\"title\">Consultar Produtor</font></center>		<br>		<table width=\"100%\">		<tr>			<td>				<b>Inscri�o</b><br><input type=text name=descricao id=descricao size=15 OnKeyPress=\"teste(event);\" OnKeyUp=\"consulta_ins(this,$campo2);\" onblur=\"this.value='';\">			</td>			</td>		</tr>		</table>		<br><br>			<select size=15 name=lista id=\"lista\" width=40 style=\"width: 700px;\" ondblclick=\"retorna(this); window.close();\">		</select> 	</body></html>";?>

 

Essa função está dentro do meu arquivo funcoes.js

function carregaFormJanela(cod,mun,campo){	if(cod)	{		xmlhttp = createXmlHttpRequestObject();		if(xmlhttp.readyState == 4 || xmlhttp.readyState == 0)		{			xmlhttp.open("GET", "htmlCadastros.php?inscricao="+cod+"&cod="+mun, true);			xmlhttp.onreadystatechange = function(){				if(xmlhttp.readyState == 1)				{					campo.innerHTML = 'Carregando...';				}				if(xmlhttp.readyState == 4)				{						htmlResponse = xmlhttp.responseText;						campo.innerHTML = htmlResponse;				}			}			xmlhttp.send(null);		}	}	else	{		campo.innerHTML = '';	}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

junto com o funcoes.js ... mas como ele é um arquivo grande não postei ele ..so a função carregaFormJanela()..

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu estou utilizando ele... porem o unico erro que ele me apresenta é que xmlhttp is not defined :( ... por isso eu não estou conseguindo resolver :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que tenho a solução!

 

Voce especificou apenas o momento em que o processo onReadyStateChange está em 1 que é o carregamento, mas esqueceu de especificar o que deverá ser feito no momento em que esse processo de carregamento terminar, ou seja quando o valor for 4!

 

se o problema for apenas a mensagem carregando que nunca deixa de aparecer, tenta o seguinte:

 

function carregaFormJanela(cod,mun,campo)

{

if(cod)

{

xmlhttp = createXmlHttpRequestObject();

 

Altere desta foma: pois desta maneira voce colocará um valor nulo na mensagem, ou seja apagará a mensagem anterior.

 

if(xmlhttp.readyState == 4)		{campo.innerHTML = ' ';			xmlhttp.open("GET", "htmlCadastros.php?inscricao="+cod+"&cod="+mun, true);			xmlhttp.onreadystatechange = function(){				[color="#0000FF"]

 

if(xmlhttp.readyState == 1)

{

campo.innerHTML = 'Carregando...';

}[/color] if(xmlhttp.readyState == 4)

{

htmlResponse = xmlhttp.responseText;

campo.innerHTML = htmlResponse;

}

}

xmlhttp.send(null);

}

}

else

{

campo.innerHTML = '';

}

}

 

 

 

Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu tenho que carregar o o formulário de uma página php para um div, porem meu código enquanto dá um onreadystatechange sai fora do laço assim que o readyState == 1.

 

Alguem tem alguma idéia de qual é o problema...Estou enviando o código pra vcs darem uma olhada...

 

 


 

// caso o metodo seja POST enviar os dados no Ajax.send(dados);

Ajax.send(null);

}

 

function respCadFamilia(){

 

if(Ajax.readyState == 4){//respondeu

if(Ajax.status == 200){//recebe xml

//pode ser XML var xml = Ajax.responseXML;

var resp = Ajax.responseText;

alert("retorno>> "+resp);

}else{

alert('Erro na resposta do servidor\n Erro linenums:0'>// JavaScript Documentvar Ajax = false;//fucao cria obejto ajaxfunction AjaxRequest(){ Ajax = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... Ajax = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE try { Ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { Ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } }function submeterCadFamilia(familia){ //cria o objeto Ajax para conexao com o servidor, independente do navegador AjaxRequest(); if(!Ajax){ alert("Erro ao criar objeto ajax!"); return; } //passa qual funcao esxecuta no na resposta do servidor Ajax.onreadystatechange = respCadFamilia; Ajax.open('GET', 'cad_familia.php?cadFamiliaDesc='+familia, true); // caso o metodo seja POST enviar os dados no Ajax.send(dados); Ajax.send(null);}function respCadFamilia(){ if(Ajax.readyState == 4){//respondeu if(Ajax.status == 200){//recebe xml //pode ser XML var xml = Ajax.responseXML; var resp = Ajax.responseText; alert("retorno>> "+resp); }else{ alert('Erro na resposta do servidor\n Erro: '+Ajax.StatusText); } }}

Espero ser util!

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.