Foros del Web » Programando para Internet » Javascript »

Array de elementos de nombre dinámicos

Estas en el tema de Array de elementos de nombre dinámicos en el foro de Javascript en Foros del Web. Hola a todos, soy nuevo en el foro, normalmente consulto pero no he encontrado el problema que tengo así que los introduciré así el que ...
  #1 (permalink)  
Antiguo 10/08/2010, 09:05
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Array de elementos de nombre dinámicos

Hola a todos, soy nuevo en el foro, normalmente consulto pero no he encontrado el problema que tengo así que los introduciré así el que pueda ayudarme se los agradecería....

El tema es que tengo que generar un arreglo con determinados elementos, dichos elementos se generan automáticamente por un programa Perl, al cual no tengo acceso, sólo tengo para modificar el Template (html).

Dicho arreglo tendría que ser de <inputs> de tipo text que están dentro de un <td> pero no puedo usar la funcion getElementsbyName ya que no encuentro para dicha función poder buscar por un nombre parcial por ejemplo algo así....


getElementsbyName(pepe*)

donde * haga referencia a cualquier nombre...como en las búsquedas, algo similar.

el tema es que el nombre de los elementos es name="sincargo%precio%"

donde %precio% es el valor que me mandan del Perl y puede ser cualquier valor alfanumerico.

Por favor les agradecería su ayuda..... Un millón de gracias de antemano!!!!
  #2 (permalink)  
Antiguo 10/08/2010, 11:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Array de elementos de nombre dinámicos

Asi como que con una expresion regular o usando comodines, dudo mucho que se pueda, pero tienes la opcion de obtener todos los input con: document.getElementsByTagName('), combinado con substring()

Haces un ciclo desde 0 hasta la cantidad de elementos encontrados y analizas tipo y nombre de cada uno:

Código Javascript:
Ver original
  1. var inputs = document.getElementsByTagName('input');
  2. for(i = 0; i < inputs.length; i++) {
  3.     if(inputs[i].type == 'text' && inputs[i].name.substring(0, 4) == 'algo') {
  4.          // Aqui haces lo que tengas que hacer
  5.     }
  6. }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/08/2010, 11:53
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: Array de elementos de nombre dinámicos

se puede usar expresiones regulares, solo que depende del contenido devuelto por perl. usando el ejemplo de triby.
Código:
var inputs = document.getElementsByTagName('input');
for(i = 0; i < inputs.length; i++) {
    if(inputs[i].type == 'text' && /sincargo(lista|valores|posibles)/.test(inputs[i].name)) {
         // Aqui haces lo que tengas que hacer
    }
}
marcado en rojo son los valores que varian segun lo que devuelve perl. si son una lista de palabras fijas, es cuestion de incluirlos todos dentro del parentesis y separarlo con una barra vertical. si fueran numeros, entonces la clase digitos \d+.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 12/08/2010, 08:10
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Array de elementos de nombre dinámicos

OK Muchas Gracias!!! lo voy a probar!!!
  #5 (permalink)  
Antiguo 12/08/2010, 14:04
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Array de elementos de nombre dinámicos

mmmm se podría hacer por expresiones regulares en js, el match puede devolver un listado de los campos pero eso sería un array, texto, es mejor la solución de triby ya que te devuelve exactamente los inputs con los nombres que tengan, incluso si no tienen nombre puedes asignarles uno a cada uno.
  #6 (permalink)  
Antiguo 18/08/2010, 07:11
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Array de elementos de nombre dinámicos

Funciono Muy Bien!!!! Muchas Gracias a todos!!!!

  #7 (permalink)  
Antiguo 26/05/2011, 17:47
 
Fecha de Ingreso: mayo-2008
Mensajes: 12
Antigüedad: 16 años
Puntos: 0
Respuesta: Array de elementos de nombre dinámicos

Muy buena respuesta Triby, tambien estaba buscando algo similar gracias por compartir tu conocimiento.

Etiquetas: elementos, nombre
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 02:35.