Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2005, 09:42
Avatar de Cap.Buscapina
Cap.Buscapina
 
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 20 años, 2 meses
Puntos: 4
les dejo ejemplo ajax+asp, aunque con algunas dudas

ejemplo de ajax para llenar uncampo con datos de una base de datos sin recargar la pagina a medida que se van ingresando las primeras letras.

ejemploajax.asp

Código PHP:
<html>  <head>  <script>  function NewAjax(){  var xmlhttp false;  try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  } catch (e) {    try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  } catch (E) {  xmlhttp false;  }  }    if (!xmlhttp && typeof XMLHttpRequest!='undefined'){    xmlhttp = new XMLHttpRequest();  }  return xmlhttp;  }    function llenaciudad(teclas){  var nombrescps;  opcciudads=document.forms['f6']['nombreciudad'];  Ajaxx NewAjax();  Ajaxx.Open("GET""verifciudades.asp?verif="+teclas,true);  Ajaxx.onreadystatechange = function(){  if (Ajaxx.readyState == 4){  array_nombres=Ajaxx.responseXML.getElementsByTagName("nombres")[0].childNodes[0].nodeValue;  array_cps=Ajaxx.responseXML.getElementsByTagName("cps")[0].childNodes[0].nodeValue;  nombres=array_nombres.split(",");  cps=array_cps.split(",");  cuantos_nombres=nombres.length;  opcciudads.style.visibility="visible";  for (r=(opcciudads.length);r>0;r--){  opcciudads.options[r-1]=null;  }  for (e=0;e<cuantos_nombres;e++){  opcciudads.options[e]=new Option(nombres[e]+"."+cps[e],nombres[e]+"."+cps[e],false,false);  }  opcciudads.options[0].selected=true;  }  }  Ajaxx.Send(null)  }      function pulsar(e) {    tecla=(document.all) ? e.keyCode e.which;  if (tecla==32 || tecla==13){  document.getElementById('ciudad').value=document.forms['f6']['nombreciudad'].value;  }else{  if (tecla==38 || tecla==40){  return false;  }    }  document.forms['f6']['nombreciudad'].style.visibility="hidden";  document.forms['f6']['Submit'].focus();  }  </script>  </head>  <body bgcolor="#FFFFFF" text="#000000">  <div id="ing6" >  <form name="f6" method="post" ><center>        <br>        Ciudad  <input id="ciudad" type="text" name="ciudad" size="60" onkeyup="llenaciudad(this.value,'f6')">        <br>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;         <select name="nombreciudad" style="visibility:hidden;width:300;" size="3" onkeydown="pulsar(event)">        </select>      <br>        <input type="submit" name="Submit" value="Enviar">      </center>  </form>  </div>  </body>  </html> 

verifciudades.asp

Código PHP:
<%  set rs = server.createobject("adodb.recordset")  strconn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("ciudades.mdb")  set con = Server.Createobject("adodb.connection")  con.open strconn  verif=request("verif")  response.ContentType="text/xml"  response.Write("<?xml version='1.0' encoding='ISO-8859-1'?>")  response.write "<respuesta>"  if IsNumeric(verif) then  sqltext = "SELECT ciudad,cp FROM ciudadesycp Where cp LIKE '"&verif&"%';"  else  sqltext = "SELECT ciudad,cp FROM ciudadesycp Where ciudad LIKE '"&verif&"%';"  end if  rs.Open sqltext,con  if rs.eof then  response.write "<nombres>no</nombres>"  response.write "<cps>no</cps>"  else  Do while not rs.eof      nombres=nombres & rs("ciudad") & ","      cps=cps & rs("cp") & ","      rs.movenext  loop  nombres=nombres & "qqq"  cps= cps & "qqq"  nombres=replace(nombres,",qqq","")  cps=replace(cps,",qqq","")  response.write "<nombres>" & nombres & "</nombres>"  response.write "<cps>" & cps & "</cps>"  end if  rs.close  con.close  set rs=nothing  set con=nothing  response.write "</respuesta>"  %>
en IE va OK, ahora en Firefox y Opera , sigo sin hacerlo funcionar


si alguien tiene alguna sujerencia para mejorarlo, bienvenida sera.
saludos

pd: me salió todo en una linea, pero creo que está todo.
__________________
by Capitán Buscapina
.