Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/05/2009, 07:46
matak
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: ayuda con envio de formulario

Buenas Ixtleco,

En principio puedo ver dos errores en tu código, uno el típico fallo de copy&paste y el otro es un fallo típico de no tener muy claro lo que se esta haciendo,...En cuanto al primero todos usamos copy&paste y nos llevamos más de un susto asi que poco que objetar, en cuanto al segundo todos hemos empezado perdidos con una materia nueva y los errores y la buena fe de la gente que ayuda nos han enseñado, asi pues espero servirte de ayuda.

1-. En la funcion GuardarRegistro() de ajax2.js

Código javascript:
Ver original
  1. unidad1=document.forms.form1.unidad1.value;
  2.   unidad2=document.forms.form1.unidad2.value;
  3.   unidad3=document.forms.form1.unidad3.value;
  4.   unidad4=document.forms.form1.unidad4.value;
  5.   unidad5=document.forms.form1.unidad5.value;
  6.   unidad5=document.forms.form1.unidad6.value; //<---Supongo que será unidad6=...
  7.   unidad7=document.forms.form1.unidad7.value;
  8.   unidad8=document.forms.form1.unidad8.value;

2-. También en la funcion GuardarRegistro() de ajax2.js

El error que te da es el siguiente

document.forms.form1 is undefined


Y es realmente lo que sucede, en el momento en que tu función javascript intenta acceder al formulario form1 éste ya no existe ya que todo el codigo html que había dentro del objeto <div id="Resultado"> ha sido sustituido por <img src="wait.gif">, incluido el <form id="form1" ... >. Con lo cual se machaca el formulario. Si lo que deseas es poner un gif mientras la petición ajax se procesa -en mi opinión- lo más correcto es:

Código javascript:
Ver original
  1. function GuardarRegistro(){
  2.   //donde se mostrará lo resultados
  3.   divResultado = document.getElementById('Resultado');
  4.   ....
  5.   ....
  6.   //instanciamos el objetoAjax
  7.  
  8.   ajax=objetoAjax();
  9.   //uso del medoto POST
  10.   //archivo que realizará la operacion
  11.   //registro.php
  12.   ajax.open("POST", "updatesegcurso.php",true);
  13.   ajax.onreadystatechange=function() {
  14.     if (ajax.readyState==4) {
  15.       //mostrar resultados en esta capa
  16.       divResultado.innerHTML = ajax.responseText
  17.       ....
  18.     }else{
  19.       //mientras se procesa mostramos imagen de espera
  20.       divResultado.innerHTML= '<img src="wait.gif">';
  21.     }
  22.   }
  23.   ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  24.   //enviando los valores
  25.   ajax.send(".....")  
  26. }

Prueba con estos cambios a ver si avanzas en el tema,...

Saludos
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!