Test Foro de elhacker.net SMF 2.1

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 (javascript) [Seleccionar]
addEvent(window,'load',inicializarEventos,false);

function inicializarEventos()
{
  var ob=document.getElementById('boton1');
  addEvent(ob,'submit',presionBoton,false);
}

function presionBoton(e)
{
  var identificacion=document.getElementById('cedula');
  recuperarDatos(identificacion.value);
}


var conexion1;
function recuperarDatos(cedula)
{
  conexion1=crearXMLHttpRequest();
  conexion1.onreadystatechange = procesarEventos;
  conexion1.open('POST','buscarpersonas.php?'+cedula, true);
  conexion1.send(null);
}

function procesarEventos()
{
    var resultados = document.getElementById("resultados");
  if(conexion1.readyState == 4)
  {

      resultados.innerHTML = conexion1.responseText;
  }
  else
  {
  resultados.innerHTML= 'buscando...';
     
  }
}

//***************************************
//Funciones comunes a todos los problemas
//***************************************
function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else 
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}

function crearXMLHttpRequest()
{
  var xmlHttp=null;
  if (window.ActiveXObject)
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  else
    if (window.XMLHttpRequest)
      xmlHttp = new XMLHttpRequest();
  return xmlHttp;
}



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!?
Citarconexion1.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 (html4strict) [Seleccionar]
<form onsubmit="funcion()">
  Enter name: <input type="text">
  <input type="submit">
</form>


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