Jump to content


Photo

Xmlhttprequest


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

#61 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 25/05/2006, 09:47

Pra que utilizar AJAX então? Se não há necessidade de alterar os dados Run-Time?
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#62 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 25/05/2006, 09:56

Pra que utilizar AJAX então? Se não há necessidade de alterar os dados Run-Time?


é q eu to montando uma ordem de compra

ae o vendedor pega um lista de clientes cadastrados e já traz todas as infos do cliente escolido =P
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#63 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 25/05/2006, 09:57

E ai Bala! Tudo bom?!

Olha só _vina contrariando o que o Bala disse...(não que ele esteja errado) Você pode simplismente utiliza uma div com uma ID para identifica-la e assim escrever nela o que você desejar

Ficaria assim:

..... bla bla bla ....
document.getElementById("resultado"). innerHTML = ValorAescrever ;
.... bla bla bla bla .....
</script>


<div id="resultado"> </div>


Falopa!

#64 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 25/05/2006, 10:01

E ai Bala! Tudo bom?!

Olha só _vina contrariando o que o Bala disse...(não que ele esteja errado) Você pode simplismente utiliza uma div com uma ID para identifica-la e assim escrever nela o que você desejar

Ficaria assim:


..... bla bla bla ....
document.getElementById("resultado"). innerHTML = ValorAescrever ;
.... bla bla bla bla .....
</script>


<div id="resultado"> </div>


Falopa!


Vlw falopa! não tinha pensado em DIV :rolleyes:
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#65 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 25/05/2006, 10:03

Então, mas ao selecionar o cliente, não seria um select?

Pense no resultado final que você deseja, não a tecnologia que quer utilizar ;)

Ohhh, parece um ditado webmasterístico :blink:
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#66 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 25/05/2006, 10:15

Ai _vina meu nick não é Falopa! é só uma forma de dizer "Até mais!"


Ai Bala responde isso aqui pra mim...

http://forum.wmonlin...ndpost&p=700547

E aproveitando o post.

Eu tenho as instruções XML pra fazer as transferencias mas eu não consigo criar um unico arquivo que contenha todas as funcoes de leitura de determinada página

Por exemplo eu tenho uma pagina de cadastro onde o usuario escolhe o estado e eu preciso resgatar as cidades nesta pagina eu tenho um XHTMLHTTPREQUEST e na pagina onde eu faço uma consulta dos dados do usuario eu tenho outro e sempre que tento colocar duas funçoes no mesmo arquivo js dá erro ou para de funcionar o AJAX...

Voce pode me dar uma ideia de como seria pra resgatar dados de páginas diferentes num mesmo script sem ter que ficar escrevendo a parte do XML...

Falopa!

#67 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 25/05/2006, 10:34

Hostdesigner
vlw =)


Balala

eu to fazendo assim pq essas informações não podem ser alteradas. listo o cliente apareceu as infos, ae ele parte para as compras =P
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#68 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 25/05/2006, 10:41

_vina de qualquer forma se você quiser retornar um valor para um campo de formulário onde o usuário não possa mudar o valor você precisa simplismente usar o parametro READONLY
Veja o exemplo:

<input name="campo" type="text" id="campo" value="valor" readonly="">



Falopa!

#69 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 25/05/2006, 11:09

Então, em relação a mais consultas na mesma página, você precisa definir os eventos diferentes, ou seja, duplicar o que você comentou no tópico:

http.onreadystatechange = handleHttpResponse;

function handleHttpResponse()
{
 campo_select = document.forms[0].subcategoria;
 if (http.readyState == 4) {
   campo_select.options.length = 0;

http2.onreadystatechange = handleHttpResponse2;

function handleHttpResponse2()
{
 campo_select = document.forms[0].subcategoria;
 if (http.readyState == 4) {
   campo_select.options.length = 0;

Repare que também terá que criar um novo Objeto:

var http = getHTTPObject();
var http2 = getHTTPObject();
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#70 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 25/05/2006, 11:50

Mas então...

Levando-se em conta o tamanho do arquivo Js no final do projeto seria mais viavel criar em cada página o codigo necessário para a consulta AJAX...

Isso para evitar o carregamento de Scripts que talves não seja usado pelo usuário uma vez que algumas funcoes somente seriam usadas se o usuário acessar determinado fomulário ou consulta.

Qual seria a melhor solução?
Para evitar transferencia de arquivos inuteis, em meu site tenho hoje cerca de 180000 visualizações, eu estou passando ele todo pra WebStandard e vou passar pra AJAX em breve, para tentar diminuir a taxa de transferencia e a demora no carregamento.


Falopa!

#71 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 25/05/2006, 14:06

Então, em relação a mais consultas na mesma página, você precisa definir os eventos diferentes, ou seja, duplicar o que você comentou no tópico:

http.onreadystatechange = handleHttpResponse;

function handleHttpResponse()
{
 campo_select = document.forms[0].subcategoria;
 if (http.readyState == 4) {
   campo_select.options.length = 0;

http2.onreadystatechange = handleHttpResponse2;

function handleHttpResponse2()
{
 campo_select = document.forms[0].subcategoria;
 if (http.readyState == 4) {
   campo_select.options.length = 0;

Repare que também terá que criar um novo Objeto:

var http = getHTTPObject();
var http2 = getHTTPObject();


Balala eu fiz essas mudanças aki no meu e não esta funcionando essa segunda parte veja

<script language="javascript">
function pesquisar_dados( valor )
{
  alert ( valor );
  http.open("GET", "consultar.php?IdClientes=" + valor, true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
}

function handleHttpResponse(){
campo_text = document.forms[0].subcategoria;
partes = http.responseText.split("|");
//partes[0] == txtEnd
//partes[1] == txtEstato
//partes[2] == txtCep
//partes[3] == txtCidade
//partes[4] == txtCpf
//partes[5] == txtRg
//partes[6] == txtBairro
//partes[7] == txtFone
//partes[8] == txtFax
//partes[9] == txtCelular
//partes[10] == txtEmail
//partes[11] == txtFone 
if (http.readyState == 4) {  
document.getElementById("txtEnd").innerHTML = partes[0];  
document.getElementById("txtEstado").innerHTML = partes[1];
document.getElementById("txtCep").innerHTML = partes[2];
document.getElementById("txtCidade").innerHTML = partes[3];
document.getElementById("txtCpf").innerHTML = partes[4];
document.getElementById("txtRg").innerHTML = partes[5];
document.getElementById("txtBairro").innerHTML = partes[6];
document.getElementById("txtFone").innerHTML = partes[7];
document.getElementById("txtFax").innerHTML = partes[8];
document.getElementById("txtCelular").innerHTML = partes[9];
document.getElementById("txtEmail").innerHTML = partes[10];
	}
}
function pesquisar_dado( valor )
{
  alert ( valor );
  http.open("GET", "consultarProdutos.php?IdProd=" + valor, true);
  http2.onreadystatechange = handleHttpResponse2;
  http.send(null);
}

function handleHttpResponse2(){
campo_text = document.forms[0].subcategoria;
partes = http.responseText.split("|");
//partes[0] == CodProd
//partes[1] == txtNome
//partes[2] == txtLP
//partes[3] == txtTamanho
//partes[4] == txtPreco
if (http.readyState == 4) {  
document.getElementById("CodProd").innerHTML = partes[0];  
document.getElementById("txtNome").innerHTML = partes[1];
document.getElementById("txtLP").innerHTML = partes[2];
document.getElementById("txtTamanho").innerHTML = partes[3];
document.getElementById("txtPreco").innerHTML = partes[4];
	}
}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	  try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e) {
		xmlhttp = false;
	  }
	}
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	try {
	  xmlhttp = new XMLHttpRequest();
	} catch (e) {
	  xmlhttp = false;
	}
  }
  return xmlhttp;
}
var http = getHTTPObject();
var http2 = getHTTPObject();
</script>


:(

Edição feita por: _vina, 25/05/2006, 14:50.

██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#72 Vinicius Araujo

Vinicius Araujo

    Novato no fórum

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

Posted 31/05/2006, 20:30

Como fazer para colocar um terceiro nivel ? Exemplo: Curso de idiomas

Escolher o curso (curso1, curso2, curso3...) se o curso escolhido foi o "curso1", carregar os niveis (1, 2, 3)deste curso em outro "select", se o nivel escolhido para o curso1 for 1, carregar em um terceiro "select" as turmas disponiveis referentes ao curso e nivel escolhido.

Oque eu nao estou conseguindo fazer 'e carregar as turmas referentes aos cursos e niveis escolhidos pois quando chamo a função que vai carregar as turmas (onChange no select niveis)somente é testada a variavel do nivel e não do curso e nivel.

Obs. Sou iniciante.

#73 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 06/06/2006, 12:53

Ok, agora é minha vez.. :D

Eu ví que algumas pessoas tirem problemas com caracteres acentuados e conseguiram resolver, mas eu nem por decreto estou conseguindo. :(

Para testar eu fiz assim:
<?
  header("Content-type: text/html;");
  $nome = strip_tags(addslashes($_GET["nome"]));

  echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\">";
  echo "<font color=\"#FFFFFF\">".$nome."</font>";
?>
Que foi como o Klaus conseguiu resolver, mas mesmo assim não está dando..
Eu digito "pára" e retorna "p?ra".

Alguém pode me dar um help?

Flws...
:(Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#74 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 06/06/2006, 14:00

Antes de enviar as informações(textos) codifique-os usando
urlencode() e depois que resgata-lo utilize urldecode() para descodifica-los assim os carácteres receberam informações do html padrão no caso de espaços ficariam %20 e assim por diante...


Falopa!

#75 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 06/06/2006, 14:06

Hummm... essa função não existe para javascript não.. :huh:
Se for PHP, ok, mas como eu codifico antes de enviar as informações se o que tem na URL é exatamente o texto do campo do formulário?

Flws...
:(

Está assim o java script:
function enviar()
{
  nome = document.getElementById("nome_scrap").value;
  msg = document.getElementById("msg_scrap").value;
  url = "nome=" + url_encode(nome) + "&msg=" + url_encode(msg);
  http.open("GET", "send_scrap.php?"+url, true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
}
E retornando assim:
function handleHttpResponse()
{
  resultado = document.getElementById("div_scrap");
  if (http.readyState == 4) {
	  resultado.innerHTML = url_decode(http.responseText);
  }
}

Essas funções, url_encode() e url_decode() são umas que eu peguei no phpbrasil.Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br




1 user(s) are reading this topic

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

IPB Skin By Virteq