1voto

como puedo registrar datos atravez de un formulario pero sin que se carge de nuevo el sitio

Hola buenas noches,tengo un problema y lo e intentado de mil maneras, de recargar el formulario sin que actualize la pagina,intentado ulizar un script que me carga los sitios sin actualizar pero veo que no funciona para el formulario o no lo pongo bien.

alguien sabe como puedo registrar datos pero que no se actualize el sitio:

ESTE ES MI FORMULARIO.

<form class="registro">
<center>
<p>Registra una nueva falta en el sistema atravez del sitio web PHP</p>
</center>
<label>Codigo:</label><br>
<input type="text" placeholder="codigo" name="codigo"required=><br><br>
<label>Profesor:</label><br>
<input type="text" placeholder="profesor" name="profesor"required=><br><br>
<label>Horario:</label><br>
<input type="text" placeholder="horario" name="horario"required=><br><br>
<label>Clase:</label><br>
<input type="text" placeholder="clase" name="clase"required=><br><br>
<label>Dia:</label><br>
<input type="text" placeholder="dia" name="dia"required=><br><br>
<input type="submit" value="registrar nueva falta" name="registro">
</form>

Este script es el que uso("lo pongo por si quieren saber cual uso")

<script type="text/javascript">
function ajaxFunction() {
  var xmlHttp;

  try {

    xmlHttp=new XMLHttpRequest();
    return xmlHttp;
  } catch (e) {

    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      return xmlHttp;
    } catch (e) {

      try {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        return xmlHttp;
      } catch (e) {
        alert("Tu navegador no soporta AJAX!");
        return false;
      }}}
}
function Enviar(_pagina,capa) {
    var ajax;
    ajax = ajaxFunction();
    ajax.open("POST", _pagina, true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    ajax.onreadystatechange = function() {
        if (ajax.readyState==1){
            document.getElementById(capa).innerHTML = " Aguarde por favor...";
                 }
        if (ajax.readyState == 4) {

                document.getElementById(capa).innerHTML=ajax.responseText; 
             }}

    ajax.send(null);
} 

</script>

2votos

carlossevi comentado

Pero en tu código faltan piezas del puzzle ¿en qué momento llamas a las funciones de Javascript que nos has copiado? Parece que la función Enviar() es la que debe encargarse de hacerlo, pero ¿cuando la invocas?

Otro "fallo" es que en al petición AJAX en ningún momento parece que le adjuntes los datos del formulario.

Te recomiendo darte una vuelta por todas las preguntas que han tratado este tema en esta página: http://entredesarrolladores.com/search?q=ajax+formulario

0voto

Gilberto comentado

carlossevi disculpa no puse todo el codigo :(

y gracias por el link

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta