Foros del Web » Programando para Internet » Javascript »

Formulario con campos de igual name="pos[]"

Estas en el tema de Formulario con campos de igual name="pos[]" en el foro de Javascript en Foros del Web. Tengo en mi web varios fomularios con campos tipo listas <select> llamados de igual forma: Código PHP: < select name = "pos[]" >   < option value = ...
  #1 (permalink)  
Antiguo 05/01/2010, 14:09
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Formulario con campos de igual name="pos[]"

Tengo en mi web varios fomularios con campos tipo listas <select> llamados de igual forma:

Código PHP:
<select name="pos[]">
  <
option value="1">Valor1</option>
  <
option value="2">Valor2</option>
  <
option value="3">Valor3</option>
</
select>

<
select name="pos[]">
  <
option value="1">Valor1</option>
  <
option value="2">Valor2</option>
  <
option value="3">Valor3</option>
</
select>

<
select name="pos[]">
  <
option value="1">Valor1</option>
  <
option value="2">Valor2</option>
  <
option value="3">Valor3</option>
</
select
El tema es que me gustaria poner un boton para setear todos esos campos a un valor concreto, por ejemplo a 3. He buscado durante varias horas formas de hacerlo, pero soy un paquete en javascript y no consigo como hacer referencia a un campo si todos se llaman pos[]. Ademas aclaro que para cada usuario pueden aparecer diferentes cantidades de <select>, a unos 7 a otros 10, a otros 12.

Gracias al experto que me pueda ayudar! le doy karma a millones!
  #2 (permalink)  
Antiguo 05/01/2010, 18:20
 
Fecha de Ingreso: noviembre-2008
Ubicación: Guadalajara, Concepcion de Buenos Aires, Mexico
Mensajes: 60
Antigüedad: 15 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Formulario con campos de igual name="pos[]"

ponles un ID a tus select

Código HTML:
Ver original
  1. <select id="idCualquiera" name="pos[]"......

y en javascript en vez de usar:

Código Javascript:
Ver original
  1. document.getElementByNames()

tendras que usar

Código Javascript:
Ver original
  1. document.getElementById()



[URL="http://pequenassoluciones.co.cc"]http://pequenassoluciones.co.cc[/URL]
  #3 (permalink)  
Antiguo 05/01/2010, 18:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Formulario con campos de igual name="pos[]"

@Vun,
en javascript, cuando mas de un elemento comparte el mismo valor en el atributo name, se crea una coleccion de elementos el cual puedes recorrer como un array. cuando lo recorres, le indicas el valor a cada select. en tu codigo, puedes usar getElementsByName para obtener la referencia de los select o bien puedes obtenerla desde el objeto formulario.
Código:
var select = document.getElementsByName("pos[]");
for(var i = 0; select[i]; i++)select[i].value = 3;
ese seria el codigo principal, el resto lo haces segun como tu quieras. por ejemplo, una funcion donde puedas pasar como argumento el valor para el select.

@manyjose,
en verdad que no entiendo cual es el proposito de cambiarlo con ID. no digo que no se pueda lograr, pero hace el codigo mas complicado.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 05/01/2010, 21:02
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Formulario con campos de igual name="pos[]"

Gracias a los dos, perfecto el codigo, sabia que era algo simple pero no acababa de dar con el, le voy a sacar mucho partido para otras partes de mi web.

Zerokilled, no me deja darte karma, por lo visto te di ya hace poco xD graciassssss
  #5 (permalink)  
Antiguo 05/01/2010, 23:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Formulario con campos de igual name="pos[]"

no importa, lo importante es que aprendas como funciona para que te puedas valer por ti mismo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: campos, 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 13:30.