iMasters Fóruns: [Resolvido] [Dica] Função rápida pra AJAX - iMasters Fóruns

Ir para

  • (3 Páginas)
  • +
  • 1
  • 2
  • 3
  • Novo tópico
  • Responder

[Resolvido] [Dica] Função rápida pra AJAX pra multi carregamentos, simples e fácil

#1 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 06 abril 2006 - 16:53

Seus problemas acabaram!!

Taí uma funçãozinha desenvolvida por mim que simplifica pra caramba o uso do ajax.

- Voce não precisa se preocupar com ficar instanciando ou coisa parecida. É só chamar a ajaxGet.
- Carrega também scripts javascript que vieram por ajax (exceto funções). Créditos para o skywalker.TO.
- Permite que voce carregue mais de um elemento ao mesmo tempo assincronamente.
- Permite que voce jogue o resultado da url em:
> uma variável javascript,
> diretamente no innerHTML de um elemento,
> em um input
> em um select sem se preocupar com nada.
- Você não precisa mais ficar se preocupando com a questão do cache.

Versão atual: 1.2 . Versão atual no post 13.

Forma de uso: (exemplos de uso no post post 7.)
ajaxGet( sua_pagina [string] , variavel_ou_objeto_que_recebera_o_retorno [string ou object] , exibe_texto_carregando_ou_nao [true ou false])

Se os moderas quiserem colocar no Laboratório de Scripts... É que resolvi postar aqui no ajax pro povo daqui ver e testar.
Pra usar é só chamar a ajaxGet.

Também publiquei esta solução no meu blog sobre webstandards, ajax, javascript, etc.

Testem ae e comentem o que acharem. Se for bom, usem. Se acharem bugs, avisem. Só peço que coloquem meu nome nos credits... Eu testei com sucesso no IE6 e no FF1.5 em dois computadores diferentes.

---------------------------------------------------------
Histórico de alterações

EDITADO 1: Já achei um bug no select do IE (Veja aqui a descrição do bug). Vou corrigir e já posto novamente, o problema é que isso tá difícil. Se alguém tiver alguma solução e quiser contribuir...

EDITADO 2: Versão atualizada no Post 2

EDITADO 3: Dei uma melhorada neste post inicial aqui pra ficar mais fácil de saber as funcionalidades do meu script.

EDITADO 4: Nova versão no post 7. Melhorei o retorno de erros pra melhorar o debug e fiz uma forma de não cachear a página.

EDITADO 5: Versão 1.2 no post 13. Adicionei o controle de erros para o ajax.status=0 e tratamento interpretar scripts que venham junto com a página (créditos para o Skywalker.TO):

#2 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 07 abril 2006 - 17:21

Ae povo.

Deu um #@?$%~ trabalho corrigir o bug do innerHTML para selects do IE, porém com isso criei mais uma função que será útil pra todo mundo. Fiquei 2 dias trabalhando pra corrigir este bug do IE e não ví nada na net parecido, por isso peço que, se forem usa-la, pelo menos deixem meus nomes no script.
A função que te permite colocar um innerHTML no select chama-se select_innerHTML e tá abaixo da ajaxGet (testado no IE6 e FF1.5):

Melhorei também pra que exiba o dado no select mesmo se a página de retorno não for formada só por options.

Agora a nova função do ajax corrigida:
micoxAjax.js
function ajaxGet(url,elemento_retorno,exibe_carregando){
/****** 
* ajaxGet - Coloca o retorno de uma url em um elemento qualquer
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* url: string; elemento_retorno: object||string; exibe_carregando:boolean
*  - Se elemento_retorno for um elemento html (inclusive inputs e selects),
*	exibe o retorno no innerHTML / value / options do elemento
*  - Se elemento_retorno for o nome de uma variavel
*	(o nome da variável deve ser declarado por string, pois será feito um eval)
*	a função irá atribuir o retorno à variável ao receber a url.
*******/
	var ajax1 = pegaAjax();
	if(ajax1){
		ajax1.onreadystatechange = ajaxOnReady
		ajax1.open("GET", url ,true);
		if(exibe_carregando){ put("Carregando ...")	}
		ajax1.send(null)
		return true;
	}else{
		return false;
	}
	function ajaxOnReady(){
		if (ajax1.readyState==4){
			if(ajax1.status == 200){
				var texto=ajax1.responseText;
				if(texto.indexOf(" ")<0) texto=texto.replace(/\+/g," ");
				//texto=unescape(texto); //descomente esta linha se tiver usado o urlencode no php ou asp
				put(texto);
			}else{
				if(exibe_carregando){put("Falha no carregamento");}
			}
			ajax1 = null
		}else if(exibe_carregando){//para mudar o status de cada carregando
				put("Carregando ..." )
		}
	}
	function put(valor){ //coloca o valor na variavel/elemento de retorno
		if((typeof(elemento_retorno)).toLowerCase()=="string"){ //se for o nome da string
			if(valor!="Falha no carregamento"){ 
				eval(elemento_retorno + '= unescape("' + escape(valor) + '")')
			}
		}else if(elemento_retorno.tagName.toLowerCase()=="input"){
			valor = escape(valor).replace(/\%0D\%0A/g,"")
			elemento_retorno.value = unescape(valor);
		}else if(elemento_retorno.tagName.toLowerCase()=="select"){		
			select_innerHTML(elemento_retorno,valor)
		}else if(elemento_retorno.tagName){
			elemento_retorno.innerHTML = valor;
			//alert(elemento_retorno.innerHTML)
		}	
	}
	function pegaAjax(){ //instancia um novo xmlhttprequest
		//baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
		if(typeof(XMLHttpRequest)!='undefined'){return new XMLHttpRequest();}
		var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
		for(var i=0;i<axO.length;i++){ try{ return new ActiveXObject(axO[i]);}catch(e){} }
		return null;
	}
}
function select_innerHTML(objeto,innerHTML){
/****** 
* select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
* Corrige o problema de não ser possível usar o innerHTML no IE corretamente
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* objeto(tipo object): o select a ser alterado
* innerHTML(tipo string): o novo valor do innerHTML
*******/
	objeto.innerHTML = ""
	var selTemp = document.createElement("micoxselect")
	var opt;
	selTemp.id="micoxselect1"
	document.body.appendChild(selTemp)
	selTemp = document.getElementById("micoxselect1")
	selTemp.style.display="none"
	if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
		innerHTML = "<option>" + innerHTML + "</option>"
	}
	innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
	selTemp.innerHTML = innerHTML
	for(var i=0;i<selTemp.childNodes.length;i++){
		if(selTemp.childNodes[i].tagName){
			opt = document.createElement("OPTION")
			for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
				opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
			}
			opt.value = selTemp.childNodes[i].getAttribute("value")
			opt.text = selTemp.childNodes[i].innerHTML
			if(document.all){ //IEca
				objeto.add(opt)
			}else{
				objeto.appendChild(opt)
			}					
		}	
	}
	document.body.removeChild(selTemp)
	selTemp = null
}


Exemplo de utilização:

teste.htm
<style>
div {border:3px solid red; margin:10px; float:left; width:200px; height:200px; overflow:scroll;}
</style>
<script src="micoxAjax.js"></script>
<script language="javascript">
function teste(){
	ajaxGet("http://localhost/options.htm",document.getElementById("div1"),true)
	ajaxGet("http://localhost/options.htm","document.getElementById('div2').innerHTML",false)	
	ajaxGet("http://localhost/options.htm",document.getElementById("input1"),false)
	ajaxGet("http://localhost/options.htm",document.getElementById("select1"),true)
}
</script>
<div id="div1"> var receber o innerHTML</div>
<div id="div2"> Vai receber da variável </div>
<input type="text" id="input1"  value="vai receber o value"/>
<select id="select1">
	<option>Vai receber o select</option>
</select>
<br /><button onclick="teste()">Vai</button>


Por favor, testem em outros navegadores e postem o resultado, e se gostaram ou não...

#3 Membro offline   pa_bruno Ícone

  • Bruno Dulcetti.com
  • Ícone
  • Grupo: Membros
  • Posts: 3371
  • Cadastrado: 03-abril 03
  • Localização:Rio de Janeiro

Ícone  Postou 07 abril 2006 - 17:35

soh corrige a primeira linha... que tah ajaxGeta... :D

cara... naum funcinou de novo... aparece o carregando e falaha no carregamento no div1 e o combo tb naum pega nada...

testei no FF 1.5, i.e. 6 e o Opera 8.54

#4 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 07 abril 2006 - 17:41

Quote

- Permite que voce carregue mais de um elemento ao mesmo tempo assincronamente.
haehahe. É isso mesmo, quer dizer que ele não achou o arquivo http://localhost/options.htm. Sacou??
Voce tem que colocar pra baixar um arquivo válido que exista no seu servidor.

Quote

soh corrige a primeira linha... que tah ajaxGeta...
Puts. é mesmo. Já corrigi, valeus...

#5 Membro offline   pa_bruno Ícone

  • Bruno Dulcetti.com
  • Ícone
  • Grupo: Membros
  • Posts: 3371
  • Cadastrado: 03-abril 03
  • Localização:Rio de Janeiro

Ícone  Postou 07 abril 2006 - 19:23

p**** micox... tb naum sou taum cabeção assim neh... logico q eu mudei os arquivos... auhuahauhuahua... mesmo mudando continua... ;)

#6 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 08 abril 2006 - 09:28

Quote

tb naum sou taum cabeção assim neh
aheuha uah eha :)

Ou. Acabei de testar aqui em casa no FF1.5 e no IE6 e deu tudo belezão!!!
PS.: Antes eu tinha testado no serviço.

Vou fazer o seguinte. Vou mudar o esquema do tratamento de erros pragente saber qual erro específico tá dando e não exiba apenas o "Falha no carregamento". Já já eu posto.

#7 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 10 abril 2006 - 10:40

Nova versão 1.1. Adicionei função pra impedir o cache pelo browser e melhorei o retorno de erros.

Arquivo micoxAjax.js (contém a função ajaxGet)
function ajaxGet(url,elemento_retorno,exibe_carregando){
/****** 
* ajaxGet - Coloca o retorno de uma url em um elemento qualquer
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.1 - 10/04/2006
* Autor: Micox - micoxjcg@yahoo.com.br
* Parametros:
* url: string; elemento_retorno: object||string; exibe_carregando:boolean
*  - Se elemento_retorno for um elemento html (inclusive inputs e selects),
*	exibe o retorno no innerHTML / value / options do elemento
*  - Se elemento_retorno for o nome de uma variavel
*	(o nome da variável deve ser declarado por string, pois será feito um eval)
*	a função irá atribuir o retorno à variável ao receber a url.
*******/
	var ajax1 = pegaAjax();
	if(ajax1){
		url = antiCacheRand(url)
		ajax1.onreadystatechange = ajaxOnReady
		ajax1.open("GET", url ,true);
		ajax1.setRequestHeader("Cache-Control", "no-cache");
		ajax1.setRequestHeader("Pragma", "no-cache");
		if(exibe_carregando){ put("Carregando ...")	}
		ajax1.send(null)
		return true;
	}else{
		return false;
	}
	function ajaxOnReady(){
		if (ajax1.readyState==4){
			if(ajax1.status == 200){
				var texto=ajax1.responseText;
				if(texto.indexOf(" ")<0) texto=texto.replace(/\+/g," ");
				//texto=unescape(texto); //descomente esta linha se tiver usado o urlencode no php ou asp
				put(texto);
			}else{
				if(exibe_carregando){put("Falha no carregamento. " + httpStatus(ajax1.status));}
			}
			ajax1 = null
		}else if(exibe_carregando){//para mudar o status de cada carregando
				put("Carregando ..." )
		}
	}
	function put(valor){ //coloca o valor na variavel/elemento de retorno
		if((typeof(elemento_retorno)).toLowerCase()=="string"){ //se for o nome da string
			if(valor!="Falha no carregamento"){ 
				eval(elemento_retorno + '= unescape("' + escape(valor) + '")')
			}
		}else if(elemento_retorno.tagName.toLowerCase()=="input"){
			valor = escape(valor).replace(/\%0D\%0A/g,"")
			elemento_retorno.value = unescape(valor);
		}else if(elemento_retorno.tagName.toLowerCase()=="select"){		
			select_innerHTML(elemento_retorno,valor)
		}else if(elemento_retorno.tagName){
			elemento_retorno.innerHTML = valor;
			//alert(elemento_retorno.innerHTML)
		}	
	}
	function pegaAjax(){ //instancia um novo xmlhttprequest
		//baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
		if(typeof(XMLHttpRequest)!='undefined'){return new XMLHttpRequest();}
		var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
		for(var i=0;i<axO.length;i++){ try{ return new ActiveXObject(axO[i]);}catch(e){} }
		return null;
	}
	function httpStatus(stat){ //retorna o texto do erro http
		switch(stat){
			case 400: return "400: Solicita&ccedil;&atilde;o incompreensível"; break;
			case 403: case 404: return "404: N&atilde;o foi encontrada a URL solicitada"; break;
			case 405: return "405: O servidor n&atilde;o suporta o m&eacute;todo solicitado"; break;
			case 500: return "500: Erro desconhecido de natureza do servidor"; break;
			case 503: return "503: Capacidade m&aacute;xima do servidor alcançada"; break;
			default: return "Erro " + stat + ". Mais informa&ccedil;&otilde;es em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; break;
		}
	}
	function antiCacheRand(aurl){
		var dt = new Date();
		if(aurl.indexOf("?")>=0){// já tem parametros
			return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());
		}else{ return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());}
	}
}
function select_innerHTML(objeto,innerHTML){
/****** 
* select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
* Corrige o problema de não ser possível usar o innerHTML no IE corretamente
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* objeto(tipo object): o select a ser alterado
* innerHTML(tipo string): o novo valor do innerHTML
*******/
	objeto.innerHTML = ""
	var selTemp = document.createElement("micoxselect")
	var opt;
	selTemp.id="micoxselect1"
	document.body.appendChild(selTemp)
	selTemp = document.getElementById("micoxselect1")
	selTemp.style.display="none"
	if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
		innerHTML = "<option>" + innerHTML + "</option>"
	}
	innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
	selTemp.innerHTML = innerHTML
	for(var i=0;i<selTemp.childNodes.length;i++){
		if(selTemp.childNodes[i].tagName){
			opt = document.createElement("OPTION")
			for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
				opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
			}
			opt.value = selTemp.childNodes[i].getAttribute("value")
			opt.text = selTemp.childNodes[i].innerHTML
			if(document.all){ //IEca
				objeto.add(opt)
			}else{
				objeto.appendChild(opt)
			}					
		}	
	}
	document.body.removeChild(selTemp)
	selTemp = null
}


Arquivo teste.htm (é a página que contém os divs que receberão o conteúdo carregado por ajax. Serve só pra exemplificar o uso. É lógico que você usará sua própria página.)
<style>
div {border:3px solid red; margin:10px; float:left; width:200px; height:200px; overflow:scroll;}
micoxselect {border:1px solid black;}
micoxselect moption {border:1px solid red;}
</style>
<script src="engine/micoxAjax.js?12" type="text/javascript" language="javascript"></script>
<script language="javascript">
function pega(quem){ return document.getElementById(quem)}
function teste(){
	ajaxGet("http://localhost/lojavirtualfree/optionas.htm",document.getElementById("div1"),true)
	ajaxGet("http://localhost/lojavirtualfree/optionas.htm","document.getElementById('div2').innerHTML",false)	
	ajaxGet("http://localhost/lojavirtualfree/optionas.htm",document.getElementById("input1"),false)
	
	ajaxGet("http://localhost/lojavirtualfree/optionas.htm?viva",document.getElementById("select1"),true)
	//alert(document.getElementById("select1").innerHTML)
}

</script>
<div id="div1"> var receber o innerHTML</div>
<div id="div2"> Vai receber da variável </div>
<input type="text" id="input1"  value="vai receber o value"/>
<select id="select1" name="select1">
	<option>Vai receber o select</option>
	<option>Vai receber o select</option>
</select>
<br />
<button onclick="teste()">Vai</button>


Optionas.htm (Página que será puxada pelo ajax e jogada nas divs. Serve só para o exemplo. É claro que você usará sua própria página.)
Autor: Micox - <br /> <strong>micoxjcg@yahoo.com.br</strong>


#8 Membro offline   Hedi Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 205
  • Cadastrado: 25-outubro 05

Postou 12 abril 2006 - 14:50

esta true sim vejam, tem que estar false?:

<script src="ajax.js" language="javascript" type="text/javascript"></script>
<script>
function ler() {
objeto = new cria;

   objeto.open("GET", "ler_chat.php", true);
   objeto.onreadystatechange = function() {
	  // if(objeto.readyState == 2){
		 parent.document.getElementById("car").innerHTML= '<img src="carregando.gif" width="22" height="22">'; 
	  // }else{
		// document.getElementById("car").innerHTML= "";
	  // }
	 if(objeto.readyState == 4) {
	if(objeto.status == 200) {
	 		parent.document.getElementById("car").innerHTML= "";
			document.getElementById("mostrar").innerHTML= objeto.responseText; 
	 } else {
	   alert("Falha: " + objeto.statusText);
	}
	 }
   }
   objeto.send(null);
   setTimeout("ler()",1500);
}


valews

#9 Membro offline   pearljam Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 2
  • Cadastrado: 04-agosto 04

Postou 13 abril 2006 - 12:44

ótima funcao cara... parabéns...... só tem uma coisa....

tem um site meu que carrego um <? include topo.php ?> .. nesse include eu carrego um player de audio.. windows media player...

abaixo tem os links para as secoes do site...

o que eu queria... era que quando eu clicasse nos links para as secoes.... o player nao parasse de rodar, que o cliente navegasse pelo site ouvindo o som sem parar. com o IEca... o player pára de rodar... com o FF ele nao pára....

tem alguma ideia do pq????
valeu!!!!

#10 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 14 abril 2006 - 10:46

Bom perljam, essa dúvida ae não tem a ver com minha função, nem tem a ver diretamente com ajax(apesar de ser uma das soluções).

Pra fazer isso, você não pode recarregar o local onde tá o seu player. E pra não recarregar este local, você tem 3 opções:
1) Deixar o player em outra janela ou em uma popup;
2) Usar frames e deixar o player em outro frame (ou iframe);
3) Usar ajax e recarregar apenas o restante do site, deixando seu player quieto (eu não acho esta solução boa)

PS.: Se algum moderador conseguir quebrar essa dúvida em um novo post seria melhor...

#11 Membro offline   imleet Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 27
  • Cadastrado: 07-abril 06

Postou 15 abril 2006 - 20:41

olha micox, aqui n funcionou essa sua função

dá esse erro: Falha no carregamento. Erro 0. Mais informações em http://www.w3.org/Pr...2616-sec10.html, dentro da textarea e do input....


EDIT--------
agora ta OK
parece q o erro era no localhost ><"

#12 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 17 abril 2006 - 10:50

É, valeu por me mostrar um erro que eu ainda não tinha previsto (que é o erro 0).
Ele dá quando não se utiliza o script corretamente, ou quando você tenta fazer coisas que o navegador não permite (como tentar abrir uma url que não está no mesmo domínio do script).
Daí o ajax1.status acaba sendo 0.
Vou corrigir e já posto algo.

#13 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 20 abril 2006 - 15:04

Versão nova : 1.2.

Adicionei o controle de erros para o ajax.status=0 e tratamento interpretar scripts que venham junto com a página (créditos para o Skywalker.TO):

function ajaxGet(url,elemento_retorno,exibe_carregando){
/****** 
* ajaxGet - Coloca o retorno de uma url em um elemento qualquer
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.2 - 20/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* url: string; elemento_retorno: object||string; exibe_carregando:boolean
*  - Se elemento_retorno for um elemento html (inclusive inputs e selects),
*	exibe o retorno no innerHTML / value / options do elemento
*  - Se elemento_retorno for o nome de uma variavel
*	(o nome da variável deve ser declarado por string, pois será feito um eval)
*	a função irá atribuir o retorno à variável ao receber a url.
*******/
	var ajax1 = pegaAjax();
	if(ajax1){
		url = antiCacheRand(url)
		ajax1.onreadystatechange = ajaxOnReady
		ajax1.open("GET", url ,true);
		//ajax1.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");//"application/x-www-form-urlencoded");
		ajax1.setRequestHeader("Cache-Control", "no-cache");
		ajax1.setRequestHeader("Pragma", "no-cache");
		if(exibe_carregando){ put("Carregando ...")	}
		ajax1.send(null)
		return true;
	}else{
		return false;
	}
	function ajaxOnReady(){
		if (ajax1.readyState==4){
			if(ajax1.status == 200){
				var texto=ajax1.responseText;
				if(texto.indexOf(" ")<0) texto=texto.replace(/\+/g," ");
				//texto=unescape(texto); //descomente esta linha se tiver usado o urlencode no php ou asp
				put(texto);
				extraiScript(texto);
			}else{
				if(exibe_carregando){put("Falha no carregamento. " + httpStatus(ajax1.status));}
			}
			ajax1 = null
		}else if(exibe_carregando){//para mudar o status de cada carregando
				put("Carregando ..." )
		}
	}
	function put(valor){ //coloca o valor na variavel/elemento de retorno
		if((typeof(elemento_retorno)).toLowerCase()=="string"){ //se for o nome da string
			if(valor!="Falha no carregamento"){ 
				eval(elemento_retorno + '= unescape("' + escape(valor) + '")')
			}
		}else if(elemento_retorno.tagName.toLowerCase()=="input"){
			valor = escape(valor).replace(/\%0D\%0A/g,"")
			elemento_retorno.value = unescape(valor);
		}else if(elemento_retorno.tagName.toLowerCase()=="select"){		
			select_innerHTML(elemento_retorno,valor)
		}else if(elemento_retorno.tagName){
			elemento_retorno.innerHTML = valor;
			//alert(elemento_retorno.innerHTML)
		}	
	}
	function pegaAjax(){ //instancia um novo xmlhttprequest
		//baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
		if(typeof(XMLHttpRequest)!='undefined'){return new XMLHttpRequest();}
		var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
		for(var i=0;i<axO.length;i++){ try{ return new ActiveXObject(axO[i]);}catch(e){} }
		return null;
	}
	function httpStatus(stat){ //retorna o texto do erro http
		switch(stat){
			case 0: return "Erro desconhecido de javascript";
			case 400: return "400: Solicita&ccedil;&atilde;o incompreensível"; break;
			case 403: case 404: return "404: N&atilde;o foi encontrada a URL solicitada"; break;
			case 405: return "405: O servidor n&atilde;o suporta o m&eacute;todo solicitado"; break;
			case 500: return "500: Erro desconhecido de natureza do servidor"; break;
			case 503: return "503: Capacidade m&aacute;xima do servidor alcançada"; break;
			default: return "Erro " + stat + ". Mais informa&ccedil;&otilde;es em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; break;
		}
	}
	function antiCacheRand(aurl){
		var dt = new Date();
		if(aurl.indexOf("?")>=0){// já tem parametros
			return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());
		}else{ return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());}
	}
}
function select_innerHTML(objeto,innerHTML){
/****** 
* select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
* Corrige o problema de não ser possível usar o innerHTML no IE corretamente
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* objeto(tipo object): o select a ser alterado
* innerHTML(tipo string): o novo valor do innerHTML
*******/
	objeto.innerHTML = ""
	var selTemp = document.createElement("micoxselect")
	var opt;
	selTemp.id="micoxselect1"
	document.body.appendChild(selTemp)
	selTemp = document.getElementById("micoxselect1")
	selTemp.style.display="none"
	if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
		innerHTML = "<option>" + innerHTML + "</option>"
	}
	innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
	selTemp.innerHTML = innerHTML
	for(var i=0;i<selTemp.childNodes.length;i++){
		if(selTemp.childNodes[i].tagName){
			opt = document.createElement("OPTION")
			for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
				opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
			}
			opt.value = selTemp.childNodes[i].getAttribute("value")
			opt.text = selTemp.childNodes[i].innerHTML
			if(document.all){ //IEca
				objeto.add(opt)
			}else{
				objeto.appendChild(opt)
			}					
		}	
	}
	document.body.removeChild(selTemp)
	selTemp = null
}

function extraiScript(texto){
//Maravilhosa função feita pelo SkyWalker.TO do imasters/forum
//http://forum.imasters.com.br/index.php?showtopic=165277&
	// inicializa o inicio ><
	var ini = 0;
	// loop enquanto achar um script
	while (ini!=-1){
		// procura uma tag de script
		ini = texto.indexOf('<script', ini);
		// se encontrar
		if (ini >=0){
			// define o inicio para depois do fechamento dessa tag
			ini = texto.indexOf('>', ini) + 1;
			// procura o final do script
			var fim = texto.indexOf('</script>', ini);
			// extrai apenas o script
			codigo = texto.substring(ini,fim);
			// executa o script
			//eval(codigo);
			/**********************
			* Alterado por Micox - micoxjcg@yahoo.com.br
			* Alterei pois com o eval não executava funções.
			***********************/
			novo = document.createElement("script")
			novo.text = codigo;
			document.body.appendChild(novo);
		}
	}
}


PS.: Por favor, não apaguem os créditos a mim e ao skywalker quando usarem as funções. Um pouco de ética é bom...

#14 Membro offline   crucifier Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 607
  • Cadastrado: 30-abril 05

Postou 17 maio 2006 - 11:19

continua dando o mesmo err o.o

#15 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 17 maio 2006 - 17:28

O erro geralmente acontece quando voce tenta executar o ajax a partir do sistema de arquivos locais. Sem upar ele pra nenhum servidor (pode ser servidor local que funciona também).

É seu caso crucifier?

#16 Membro offline   Fleury Ícone

  • Por uma internet mais feliz :)
  • Ícone
  • Grupo: Membros
  • Posts: 1243
  • Cadastrado: 23-fevereiro 05
  • Sexo:Masculino
  • Localização:Belo Horizonte

Postou 24 maio 2006 - 11:11

Poxa micox, assina meu mouse pad? hUhauahAUHA
Pendurado :)

#17 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 24 maio 2006 - 13:58

haheheuh. Os cara curte da minha cara véi... . heuehue

#18 Membro offline   fael Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 888
  • Cadastrado: 16-dezembro 03
  • Localização:Gravataí - RS

Postou 25 maio 2006 - 15:22

e dae micox :worship:

Estou usando o seu "framework" e estou com um certo probleminha: acentuação!!!

Por exemplo: a palavra aplicação está aparecendo assim Aplica?

Sabe como resolver?

Resolvi!!! Vi seu outro post!! Valeu! :worship:

Este post foi editado por fael: 25 maio 2006 - 15:36


#19 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 25 maio 2006 - 16:44

É nóis...

#20 Membro offline   fael Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 888
  • Cadastrado: 16-dezembro 03
  • Localização:Gravataí - RS

Postou 25 maio 2006 - 16:46

micox,

Encontrei alguns problemas com o seu framework na questão cache... Não é sempre que ocorre, somente em alguns casos. Daí encontrei a solução! Você tem que colocar outros setRequestHeaders.

Ex.
ajax1.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
ajax1.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
ajax1.setRequestHeader("Pragma", "no-cache");


:thumbsup:

flw

#21 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 25 maio 2006 - 16:56

Vixe, comé que eu chego nesse erro?
Falae pra eu testar aqui...
Valeus.

#22 Membro offline   fael Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 888
  • Cadastrado: 16-dezembro 03
  • Localização:Gravataí - RS

Postou 26 maio 2006 - 09:50

Por exemplo. Eu tenho uma listagem de registros na tela, que é via AJAX... Nesta listagem tem uns checkbox para excluir os registros e tal... quando eu clico em excluir, ele submete o form para um iframe e recarrega a listagem... só que ao invés de recarregar a listagem sem o registro que acabei de excluir, ele trás com aquele registro ainda.

Mas isso ocorre às vezes, não é sempre, só quando ele quer... hehehehe sinistro mesmo cara... Agora testando aqui eu percebi que mesmo colocando esses setHeaders a mais não adianta... Eu estou pensando que talvez ele atualize a tela, ou seja, faça o select no banco antes de excluir o registro. Vou testando, testando, até encontrar uma solução aqui...

Cara, eu tenho uma dúvida. Tem como eu usar o seu script para submeter um form? Por exemplo, neste caso de excluir os registros, eu estou submetendo para um iframe, eu queria fazer isso via ajax também. Tem como?

Abraço mano!

#23 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 26 maio 2006 - 11:43

Ah só... Isso aí é problema na sua linguagem server-side. Provavelmente voce tá dando o select antes de excluir o registro (eu também fazia isso direto. heuae e depois ficava quebrando a cabeça)

Quanto a enviar form, só se for via GET. via Post eu não fiz inda não...

Falwos...

#24 Membro offline   fael Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 888
  • Cadastrado: 16-dezembro 03
  • Localização:Gravataí - RS

Postou 26 maio 2006 - 14:12

Ver postmicox, em May 26 2006, 11:43 AM, disse:

Ah só... Isso aí é problema na sua linguagem server-side. Provavelmente voce tá dando o select antes de excluir o registro (eu também fazia isso direto. heuae e depois ficava quebrando a cabeça)


Na verdade eu faço duas chamadas numa função js

ajaxGet()
ajaxGet()

A primeira é para deletar e como provavelmente leva mais tempo para executar do que o select, o select traz o resultado com o registro ainda existente na tabela... mas não tem galho, eu coloquei um "Atulizar" pro usuário atualizar a lista... fica mais tranquilo... Problema resolvido!

Ver postmicox, em May 26 2006, 11:43 AM, disse:

Quanto a enviar form, só se for via GET. via Post eu não fiz inda não...


Mesmo com GET como eu faço então? Aonde eu chamo a função? Atualmente estou fazendo manualmente, pegando valor por valor com document.getElementById com uma função e depois chamo o AJAX, passando como parâmetro a página e seus parâmetros.

Valeu!

#25 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 26 maio 2006 - 16:07

Quote

Mesmo com GET como eu faço então? Aonde eu chamo a função? Atualmente estou fazendo manualmente, pegando valor por valor com document.getElementById com uma função e depois chamo o AJAX, passando como parâmetro a página e seus
É isso mesmo que tem que ser feito.
Mas voce me deu uma ótima idéia de função pra fazer. Uma função que pegue o form e já mande ele por ajax.
Um dia eu faço e posto aqui.

té mais...

#26 Membro offline   Marcelo Dênis Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 5
  • Cadastrado: 01-junho 06

Ícone  Postou 02 junho 2006 - 08:01

Aew micox, tranqs?

Pow, tô meio perdido no meio de tanto código aew kara.

Tô muito afim de aprender Asynchronous Javascript And XML(AJAX)...
Já consegui entender como é feita a chamada a um programa CGI(PHP, Python, ASP, etc), mas isso, só com uma chamada assíncrona.

Alterando somente um local na página.

Quero fazer várias chamadas ao mesmo tempo, assincronamente, pra que seja alterado o conteúdo em várias partes do site em um clique do mouse(em um link por exemplo).

Pois é, li sim os seus post's, mas não entendi, pois não fiz os testes em kasa, por que tô sem tempo, entende?

Teria como você mandar pro meu e-mail(marcelodmdo@yahoo.com.br), um exemplo ou explicação mais detalhada sobre isso?

Meu site será colocado, talvez, semana que vem ao ar e quero fazer tais alterações antes disso.


Agradeço antecipadamente,


Marcelo Dênis
===========
"A vida, talvez, não sei, seja um pouco de tudo, traduzindo em NADA.
E poucos acertos... EU não posso ser EU... Eu agora sei que sou!!!"


#27 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 02 junho 2006 - 08:25

Opa. 100% Dênis.

Começei a desenvolver essa função justamente porque eu tava com essa mesma idéia de você: carregar um monte de coisa ao mesmo tempo.

Daí fiz ela pra não precisar ficar preocupando com instanciar toooda vez...

Pra voce usar ela é só fazer como eu falei nos posta acima.

Simplão e rápido: É só voce chamar a função ajaxGet() passando como parâmetro:
1- sua url que será carregada
2- o elemento que deverá receber a nova página
3- true ou false, indicando se voce quer que seja exibido o texto "Carregando..." ou não...

Sacou? super simples.

-----------
Ah sim, e pro fael, que queria algo pra forms, lembrei que o Pita fez uma parada boa. Eu ainda não testei não...

#28 Membro offline   Pita Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 277
  • Cadastrado: 06-abril 06

Postou 02 junho 2006 - 09:19

Ver postmicox, em May 26 2006, 04:07 PM, disse:

Quote

Mesmo com GET como eu faço então? Aonde eu chamo a função? Atualmente estou fazendo manualmente, pegando valor por valor com document.getElementById com uma função e depois chamo o AJAX, passando como parâmetro a página e seus
É isso mesmo que tem que ser feito.
Mas voce me deu uma ótima idéia de função pra fazer. Uma função que pegue o form e já mande ele por ajax.
Um dia eu faço e posto aqui.

té mais...



Micox, aquela minha função ajaxForm faz isso, ela pega os dados do form e envia para o servidor simulando o submit do formulário

http://forum.imaster...howtopic=174729

#29 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 02 junho 2006 - 10:45

É isso aí. hehe é que eu tinha esquecido.
Mas olha meu último post aí... Eu lembrei.

#30 Membro offline   rafa developer Ícone

  • rawff
  • Ícone
  • Grupo: Membros
  • Posts: 37
  • Cadastrado: 20-janeiro 06

Postou 03 junho 2006 - 14:01

existe alguma forma de mandar os dados de um formulario via psot???

estou com problemas na hora de enviar um texto grande.. por favor.. aguardo respostas

flw []'s

#31 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 03 junho 2006 - 14:42

A função do Pita faz isso: http://forum.imaster...howtopic=174729

#32 Membro offline   osdeni Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 12
  • Cadastrado: 30-março 05

Postou 26 junho 2006 - 08:42

Olá, vi o script ajax que postac na net, ai o seguinte quando executo o seguinte javascript dentro de uma página carregada pelo ajax da erro, chamo ele assim:

onclick="ajaxGet('?acao=faleConosco&system=true',document.getElementById('conteudo'),true);

porém retorna erro 404.. ai executo um alert('oi') -> tbm n funciona ai retiro o parametro ele retorna o alert...

como faço para chamar um javascript com paramentro? tem como ou preciso fazer assim:

function enviaForm(){
ajaxGet("?acao=faleConosco&system=true",document.getElementById("conteudo"),true);
}

Gostaria de saber tbm o seguinte: como enviar os dados do formulário com ajax??
pode ser pelo post?? tens algum exemplo?

Abraços.. valew fera.. esse script ta me resolvendo mtoos problemas!

#33 Membro offline   osdeni Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 12
  • Cadastrado: 30-março 05

Postou 26 junho 2006 - 09:50

Olá, vi o script ajax que postac na net, ai o seguinte quando executo o seguinte javascript dentro de uma página carregada pelo ajax da erro, chamo ele assim:

onclick="ajaxGet('?acao=faleConosco&system=true',document.getElementById('conteudo'),true);

porém retorna erro 404.. ai executo um alert('oi') -> tbm n funciona ai retiro o parametro ele retorna o alert...

como faço para chamar um javascript com paramentro? tem como ou preciso fazer assim:

function enviaForm(){
ajaxGet("?acao=faleConosco&system=true",document.getElementById("conteudo"),true);
}

Gostaria de saber tbm o seguinte: como enviar os dados do formulário com ajax??
pode ser pelo post?? tens algum exemplo?

Abraços.. valew fera.. esse script ta me resolvendo mtoos problemas!

#34 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 26 junho 2006 - 16:29

1) CAra, você tem que chamar a página inteira, se chamar só depois do ponto de interrogação não dá certo não.
Ex:
onclick="ajaxGet('SUAPAGINA.HTM?acao=faleConosco&system=true',document.getElementById('conteudo'),true);


2)

Quote

como faço para chamar um javascript com paramentro? tem como ou preciso fazer assim:

function enviaForm(){
ajaxGet("?acao=faleConosco&system=true",document.getElementById("conteudo"),true);
}

Não entendi a dúvida, mas tá parecendo coisa de javascript básico. De qualquer jeito corrija sua chamada, tá faltando o nome do arquivo como eu falei acima.

3)

Quote

Gostaria de saber tbm o seguinte: como enviar os dados do formulário com ajax??
pode ser pelo post?? tens algum exemplo?

Leia meu post anterior.

#35 Membro offline   Void : Ícone

  • Mercenário's
  • Ícone
  • Grupo: Membros
  • Posts: 1334
  • Cadastrado: 26-abril 05
  • Localização:São Paulo/SP

Postou 02 julho 2006 - 22:05

Legal, curti.

Mas ... e se ao invés de um innerHTML, eu quisesse que o retorno dos dados do php sejam exibidos dentro de uma tabela.


// Ja descobri como

#36 Membro offline   ronanlumb Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 132
  • Cadastrado: 30-maio 05

Postou 03 setembro 2006 - 19:03

Cara show esse código. Agora sim posso começar a intender o funcionamento de AJAX. faz exatamente o que eu queria.

Só para avisar o pessoal
to usando ele da seguinte maneira

<a href="java script:;" onclick='ajaxGet("home.php?b=2",document.getElementById("meio"),true)'>


E esta funcionando não sendo necessário passar toda a URL e tmb esta passando a variável.

E tmb está executando todas as PHP inclusives SQLS dentro pas paginas que são "INCLUIDAS" na div alvo.

#37 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 04 setembro 2006 - 09:41

Quote

E esta funcionando não sendo necessário passar toda a URL e tmb esta passando a variável.
Uia, que beleza.
hehehe

#38 Membro offline   Wallcrawler Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 104
  • Cadastrado: 28-março 05

Postou 12 setembro 2006 - 11:55

Estou tendo problemas com a função quando chamo uma página com elementos form no firefox (1.8.0.6). O que vcs acham que pode ser?

É super esquisito pois ele funciona normalmente no Opera e no IE.

#39 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 12 setembro 2006 - 16:27

Vá no console de erros do firefox e veja que erro tá dando.

Ah, e elementos de form acho que você só conseguirá jogar dentro de divs, p, etc. Nada de jogar em elemento inline como a, select, input, etc.

#40 Membro offline   ronanlumb Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 132
  • Cadastrado: 30-maio 05

Postou 25 setembro 2006 - 21:21

Alguem consegui rodar isso pelo flash/

Tipo fiz uma animação em flash e quero chamar essa função.

#41 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 25 setembro 2006 - 21:35

Tipo, pode parecer meio óbvio mas quem usa flash não precisa de ajax. ;)

#42 Membro offline   ronanlumb Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 132
  • Cadastrado: 30-maio 05

Postou 25 setembro 2006 - 22:06

É tipo assim. o Site tem um topo (em flash)
E o resto do layout HTML.
É que o cara gosta de animação e pediu um topo em flash. Para colocar frescuras

Então nesse topo eu coloquei o menú.

E em baixo tem 2 colunas. A 1ª não tem nada d+ e a segunda que é onde aparece o conteúdo.

#43 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 26 setembro 2006 - 14:25

É só você chamar a função javascript que carrega o ajax pelo flash.

getURL("java script: funcao('parametro');");

Se não tiver ainda uma função que carrega Ajax, use esta minha: http://elmicox.blogs...-e-simples.html

#44 Membro offline   ronanlumb Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 132
  • Cadastrado: 30-maio 05

Postou 26 setembro 2006 - 21:10

Isso ta certo no FLSH?


getURL("java script:ajaxGet('seg.php',document.getElementById('texto_conteudo'),true);");

Dessa forma ele abre outra página com um texto escrito true

#45 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 27 setembro 2006 - 10:54

Eu não sei a forma correta de chamar javascript em flash.

Consulte o google ou um fórum de flash.

#46 Membro offline   Elbrinner Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 657
  • Cadastrado: 03-dezembro 04

Postou 27 setembro 2006 - 23:56

Sua funcao tem como pegar os campos do formulario?

#47 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2334
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 28 setembro 2006 - 00:42

Quote

Sua funcao tem como pegar os campos do formulario?

Não. Pra trabalhar com formulários use a função do Pita.

#48 Membro offline   Elbrinner Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 657
  • Cadastrado: 03-dezembro 04

Postou 28 setembro 2006 - 09:51

Obrigado.

#49 Membro offline   willians dos reis Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 8
  • Cadastrado: 26-agosto 06

Postou 03 outubro 2006 - 13:15

Me ajudem...

Eu queria uma funcao que atualiza-se o proprio ajax. To com essa dificuldade aki. pois quando carrego uma pagina dentro dum div pelo ajax (do msmo jeito q você explicou) ele nao atualiza o conteudo. carregou e já era. Fica um conteudo velho.

da uma ajudinha ai mano.

#50 Membro offline   Marcio Leandro Ícone

  • MÆrcio
  • Ícone
  • Grupo: Membros
  • Posts: 3942
  • Cadastrado: 14-dezembro 04
  • Sexo:Masculino
  • Localização:São Paulo - SP

Postou 03 outubro 2006 - 13:25

Ver postwillians dos reis, em 03/10/2006 - 13:15, disse:

Me ajudem...

Eu queria uma funcao que atualiza-se o proprio ajax. To com essa dificuldade aki. pois quando carrego uma pagina dentro dum div pelo ajax (do msmo jeito q você explicou) ele nao atualiza o conteudo. carregou e já era. Fica um conteudo velho.

da uma ajudinha ai mano.


Não me diga que isto acontece no I.E. ?

você pode usar headers para contornar isto.
Dê uma lida aqui.

  • (3 Páginas)
  • +
  • 1
  • 2
  • 3
  • Novo tópico
  • Responder

2 usuário(s) está(ão) lendo este tópico
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)