Foros del Web » Programando para Internet » Javascript »

submit formulario

Estas en el tema de submit formulario en el foro de Javascript en Foros del Web. Hola Me salta un error: document.eaform.submit(); no es una función Veamos, el contexto es Pagina1 Código HTML: <form method= "post" action= "pagina2" name= "eaform" > ...
  #1 (permalink)  
Antiguo 01/10/2008, 13:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
submit formulario

Hola

Me salta un error: document.eaform.submit(); no es una función

Veamos, el contexto es

Pagina1


Código HTML:
<form method="post" action="pagina2" name="eaform">
.....
<div id="botonera">
<input type="button" id="declarar" name="declarar" value="Enviar" />
</div>
</form> 
Código javascript:
Ver original
  1. <script type="text/javascript">
  2. var bot = document.getElementById("botonera").getElementsByTagName("input");
  3. for (var i=0; i<bot.length; i++) {
  4.  
  5.       Evento(bot[i], "click", function(){
  6.  
  7.  if (this.id == "declarar") {
  8.     Inserta_Datos();
  9.     }
  10.  
  11.       });
  12. }
  13. </script>

libreria.js

Código javascript:
Ver original
  1. function Inserta_Datos() {
  2. document.eaform.submit(); // AQUÍ EL PROBLEMA
  3. }
  4.  
  5.  
  6. function Evento(elemento,nomevento,funcion)
  7. {
  8.   if (elemento.attachEvent)
  9.   {
  10.       var f=function(){
  11.         funcion.call(elemento,window.event);
  12.     }
  13.     elemento.attachEvent('on'+nomevento,f);
  14.     return true;
  15.   }
  16.   else  
  17.     if (elemento.addEventListener)
  18.     {
  19.       elemento.addEventListener(nomevento,funcion,false);
  20.       return true;
  21.     }
  22.     else
  23.       return false;
  24. }

¿Cúal puede ser el error?

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #2 (permalink)  
Antiguo 01/10/2008, 13:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: submit formulario

Yo lo he probado y funciona sin problemas, solo que dependiendo de donde pongas el primer script dará problemas debido a que estás llamando a getElementById, si eso se ejecuta antes que se cargue el elemento producirá error.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 01/10/2008, 14:09
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: submit formulario

Hola

Gracias David, yo también lo he estado probando tal y como esta, y funciona. Pero cuando le agrego al formulario el resto de los botones (editar_datos, cancelar, resetear) y al segundo script, las funcines correspondientes a cada botón, la función Insertar_Datos, continua dando el mismo problema, estraño, ehhh?

Si se te ocurre algo, se agradece.
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 01/10/2008, 14:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
De acuerdo Respuesta: submit formulario

Si me permites ver el código completo podemos tratar de encontrar alguna solución al problema.

P.S.: ¿Por qué no usas un input type submit para enviar el formulario?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 02/10/2008, 06:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: submit formulario

Gracias por responder. Si es lo que decidí hacer ayer finalmente, convertirlo en un input type submit, pero pensando en ello se me ocurrió hacer algunos cambios y he logrado resolver el problema

Pagina1

Código javascript:
Ver original
  1. if (this.id == "declarar") {
  2.     Inserta_Datos(this.form);
  3.     }

libreria.js
Código javascript:
Ver original
  1. function Inserta_Datos(f) {
  2.   f.submit();
  3.  }

De nuevo gracias por tu tiempo
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 21:00.