Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: datab en 4 Mayo 2015, 08:45 am



Título: Formulario PHP y resultados
Publicado por: datab en 4 Mayo 2015, 08:45 am
Tengo un formulario en en http://banquita.site40.net/eventas.html
a que se debe que cuando le doy enter me muestra el resultado de la consulta a bases de datos pero el resultado me lo da recargando la pagina, el ajax es
Código
  1. addEvent(window,'load',inicializarEventos,false);
  2.  
  3. function inicializarEventos()
  4. {
  5.  var ob=document.getElementById('boton1');
  6.  addEvent(ob,'submit',presionBoton,false);
  7. }
  8.  
  9. function presionBoton(e)
  10. {
  11.  var identificacion=document.getElementById('cedula');
  12.  recuperarDatos(identificacion.value);
  13. }
  14.  
  15.  
  16. var conexion1;
  17. function recuperarDatos(cedula)
  18. {
  19.  conexion1=crearXMLHttpRequest();
  20.  conexion1.onreadystatechange = procesarEventos;
  21.  conexion1.open('POST','buscarpersonas.php?'+cedula, true);
  22.  conexion1.send(null);
  23. }
  24.  
  25. function procesarEventos()
  26. {
  27.    var resultados = document.getElementById("resultados");
  28.  if(conexion1.readyState == 4)
  29.  {
  30.  
  31.     resultados.innerHTML = conexion1.responseText;
  32.  }
  33.  else
  34.  {
  35.  resultados.innerHTML= 'buscando...';
  36.  
  37.  }
  38. }
  39.  
  40. //***************************************
  41. //Funciones comunes a todos los problemas
  42. //***************************************
  43. function addEvent(elemento,nomevento,funcion,captura)
  44. {
  45.  if (elemento.attachEvent)
  46.  {
  47.    elemento.attachEvent('on'+nomevento,funcion);
  48.    return true;
  49.  }
  50.  else  
  51.    if (elemento.addEventListener)
  52.    {
  53.      elemento.addEventListener(nomevento,funcion,captura);
  54.      return true;
  55.    }
  56.    else
  57.      return false;
  58. }
  59.  
  60. function crearXMLHttpRequest()
  61. {
  62.  var xmlHttp=null;
  63.  if (window.ActiveXObject)
  64.    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  65.  else
  66.    if (window.XMLHttpRequest)
  67.      xmlHttp = new XMLHttpRequest();
  68.  return xmlHttp;
  69. }


a que se debe como hago para que me lo muestre en el div resultados bien.

Gracias


Título: Re: Formulario PHP y resultados
Publicado por: engel lex en 4 Mayo 2015, 08:51 am
el problema no es tu ajax, el problema está en el form... es un boton de submit, así que el form hace lo que está programado a hacer... debes colocar una propiedad "onsubit" que retorne false

por cierto... que es esto!?
Citar
conexion1.open('POST','buscarpersonas.php?'+cedula, true);

un post y get al mismo tiempo?


Título: Re: Formulario PHP y resultados
Publicado por: datab en 4 Mayo 2015, 09:04 am
De hecho ya lo corregi a POST, la aplicacion es una consulta a una bases de datos del padron nacional.


Como puedo hacer para corregirlo


Título: Re: Formulario PHP y resultados
Publicado por: engel lex en 4 Mayo 2015, 09:25 am
un listener al submit del form como ya tienes el del boton... tambien puedes modificar el form con algo como

Código
  1. <form onsubmit="funcion()">
  2.  Enter name: <input type="text">
  3.  <input type="submit">
  4. </form>

y "funcion" debe retornar false para que el submit del form no se aplique