Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No consigo devolver resultado del formulario

Estas en el tema de No consigo devolver resultado del formulario en el foro de Frameworks JS en Foros del Web. Hola! Estoy empezando con Ajax, y tengo un problema que no sé cómo solucionar... Tengo una página .jsp con un formulario que envío automáticamente cada ...
  #1 (permalink)  
Antiguo 18/12/2007, 05:48
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 19 años, 9 meses
Puntos: 1
No consigo devolver resultado del formulario

Hola!

Estoy empezando con Ajax, y tengo un problema que no sé cómo solucionar...
Tengo una página .jsp con un formulario que envío automáticamente cada x segundos, mediante javascript con las acciones setTimeout y document.formu.submit().
El caso es q este formulario me tiene q ir devolviendo una respuesta que la voy sacando por el navegador, en plan: cada vez que envio el form se va escribiendo la respuesta en una linea (una detrás de otra).

Para hacer esto he recurrido a Ajax con las funciones:
Código HTML:
function creaAjax(){
  var objetoAjax=false;
  try {
   /*Para navegadores distintos a internet explorer*/
   objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } 
  catch (e) {
   try {
     /*Para explorer*/
     objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (E) {
     objetoAjax = false;
   }
  }

  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
   objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}
function RecuperaDato (url,capa,valores)
{
   var ajax=creaAjax();
   
   var salida = document.getElementById(capa);

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
 
    ajax.open ("POST", url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 salida.innerHTML="Cargando.......";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200)
            {
                 salida.innerHTML=ajax.responseText; 
            }
            else if(ajax.status==404)
                 {
                     salida.innerHTML = "La direccion existe";
                 }
             else
                 {
                     salida.innerHTML = "Error: "+ ajax.status;
                 }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
   
}
Y llamo a esta función al enviar el formulario con:
Código HTML:
<form name="oculto" method="post" onsubmit="RecuperaDato('acepta.jsp','salida','campo1='+document.getElementById('campo1').value+'&amp;campo2='+document.getElementById('campo2').value); return false;" action="#">
<TABLE>
<TR>
<TD ALIGN="left"><INPUT TYPE="hidden" NAME="campo1" ID="campo1" value="primero"></TD>
</TR>
<TR>
<TD ALIGN="left"><INPUT TYPE="hidden" NAME="campo2" ID="campo2" value="segundo"></TD>
</TR>
<TR>
</TABLE>
</form>
<div id="salida">Valor 1: </div> 
En el acepta.jsp solo recupero una variable y la escribo para probar nada más.
El problema es que me da un error java.lang.NullPointerException en el momento en que se ejecuta document.formu.submit() y ni siquiera me llega a entrar en recuperaDato, parece que el error lo da ya en el formulario (no sé si en el onsubmit o en el action...)

No sé si me habré explicado mu bien... es q todos los ejemplos que he visto eran apretando el botón submit, pero en mi caso quiero hacerlo enviándolo automáticamente.

¿Alguien que tenga algo de idea? Graciassssss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:48.