Foros del Web » Programando para Internet » Javascript »

document.forms identificar formulario

Estas en el tema de document.forms identificar formulario en el foro de Javascript en Foros del Web. Buenas tardes: Por lo que sé: 1/Podemos hacer un recorrido por los formularios que hay en el DOM mediante un bucle for(). 2/Identificarlos por id, ...
  #1 (permalink)  
Antiguo 21/05/2015, 12:02
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
document.forms identificar formulario

Buenas tardes:
Por lo que sé:
1/Podemos hacer un recorrido por los formularios que hay en el DOM mediante un bucle for().
2/Identificarlos por id, nombre, tag..
3/Referenciarlos document.forms[n]
y supongo que más cosas....
Pero... lo que intento es saber cual es el document.forms[n] desde el que estoy generando un evento. Es decir n=??
Espero haberme explicado.
Gracias.
  #2 (permalink)  
Antiguo 21/05/2015, 12:52
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: document.forms identificar formulario

Delega el evento a la ventana y luego verifica que se esté produciendo en un formulario.

Código Javascript:
Ver original
  1. window.addEventListener("el evento", function(event){
  2.     if (event.target.tagName == "FORM"){
  3.         alert(event.target.name) //Nombre del formulario en el que se está produciendo el evento
  4.         alert(event.target.id); //Identificador del formulario en el que se está produciendo el evento
  5.     }
  6. }, false);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 21/05/2015, 13:44
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: document.forms identificar formulario

Hola Alexis:
Disculpa mi ignorancia.
Código Javascript:
Ver original
  1. window.addEventListener("onchange", function(event){
  2.     if (event.target.tagName == "FORM"){
  3.         alert(event.target.name) //Nombre del formulario en el que se está produciendo el evento
  4.         alert(event.target.id); //Identificador del formulario en el que se está produciendo el evento
  5.     }
  6. }, false);

El único cambio es "el evento".
He probado y no captura el evento.
  #4 (permalink)  
Antiguo 21/05/2015, 23:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: document.forms identificar formulario

El nombre del evento es change. Ten en cuenta que dicho evento no se producirá directamente en el formulario sino en uno de sus elementos. En ese caso, tendrías que capturar al elemento padre del elemento en el que se produjo el evento.

Código Javascript:
Ver original
  1. window.addEventListener("change", function(event){
  2.     if (event.target.parentNode.tagName == "FORM"){
  3.         alert(event.target.parentNode.name) //Nombre del formulario en el que se está produciendo el evento
  4.         alert(event.target.parentNode.id); //Identificador del formulario en el que se está produciendo el evento
  5.     }
  6. }, false);

En donde:
  • event: El evento que se produjo.
  • target: El elemento en el que se produjo el evento.
  • parentNode: El elemento que contiene al elemento en el que se produjo el evento.
  • tagName: El nombre de la etiqueta del elemento, que, en este caso, será el elemento que contiene al elemento en el que se produjo el evento.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 22/05/2015 a las 13:12 Razón: Solución
  #5 (permalink)  
Antiguo 24/05/2015, 03:04
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: document.forms identificar formulario

Buenos días:
Disculpa Alexis88. He estado meditando sobre el código y he visto que tengo un error de desarrollo del mismo.
Te explico:
Tengo una página con tres formularios.
El segundo está vinculado al primero y recoge los servicios que se contratan. La refencia del presupuesto está en el primer formulario y es el vinculo con el segundo.
El tercer formulario es un formulario que agrega registros a la tabla del segundo formulario.
Cuando he introducido un nuevo registro a través del tercer formulario, la página ya no muestra tres formularios, sino cuatro. Y así sucesivamente.
El problema es que en el código he dejado los ID='S1' del tercer formulario con un valor constante, es decir que si tengo cuatro formularios en la página, los formularios 2 y 3 tienen los mismos ID='S1' en sus campos respectivamente.
Eso hace que no pueda identificar en que formulario se debe actualizar la información.
Por lo tanto tengo que rehacer código asignando un ID que sea variable ID = 'S1' + i
Por ello te pido disculpas por mi falta de cortesía al no responder antes a tu información.
  #6 (permalink)  
Antiguo 24/05/2015, 03:06
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: document.forms identificar formulario

Cita:
El problema es que en el código he dejado los ID='S1' del tercer formulario con un valor constante
Quería decir:
El problema es que en el código he dejado los ID='S1' del segundo formulario con un valor constante

Etiquetas: formulario
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 05:35.