Foros del Web » Programando para Internet » Javascript »

como añadir valor a un array si existe el campo

Estas en el tema de como añadir valor a un array si existe el campo en el foro de Javascript en Foros del Web. Hola estoy creando un array con javascript donde recojo los valores de unos campos ocultos el problema lo tengo que no se comprobar si existe ...
  #1 (permalink)  
Antiguo 19/06/2012, 07:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
como añadir valor a un array si existe el campo

Hola estoy creando un array con javascript donde recojo los valores de unos campos ocultos el problema lo tengo que no se comprobar si existe el campo para meterlo en el array o no, mas o menos algo asin probe yo:

Código Javascript:
Ver original
  1. <input type='hidden' id='valor1' value='uno'/>
  2. <input type='hidden' id='valor2' value='dos'/>
  3.  
  4. valores = [
  5.             ["valor1", document.getElementById('valor1').value],
  6.             ["valor2", document.getElementById('valor2').value],
  7.  
  8.              if(document.getElementById('valor3')){}else{
  9.                     ["valor3", document.getElementById('valor3').value],
  10.            ];

me dice sintaxis de error que es lo que estoy haciendo mal, supuestamente lo que intento hacer es que si el campo con id valor3 no existe no guarde nada y si existe guarde su valor, alguna ayuda?

Saludos.

Última edición por pithon; 19/06/2012 a las 07:22
  #2 (permalink)  
Antiguo 19/06/2012, 08:31
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: como añadir valor a un array si existe el campo

en primer lugar, esto no es javascript ni html

Código vaya_a_saber:
Ver original
  1. <input type='hidden' id='valor1' value='uno'/>
  2. <input type='hidden' id='valor2' value='dos'/>
  3.  
  4. valores = [
  5.             ["valor1", document.getElementById('valor1').value],
  6.             ["valor2", document.getElementById('valor2').value],
  7.  
  8.              if(document.getElementById('valor3')){}else{
  9.                     ["valor3", document.getElementById('valor3').value],
  10.            ];

Así que lo del error de sintáxsis puede ser cualquier cosa.

En cuanto a tu pregunta puntual
Cita:
"donde recojo los valores de unos campos ocultos el problema lo tengo que no se comprobar si existe "


No tiene sentido, si están existen, recorres lon input, verificas si el type es hidden, y tomás el valor, el cual vas agregando al array()

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 19/06/2012, 08:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como añadir valor a un array si existe el campo

Hola emprear, realmente los campos que quiero añadir en el array de javascript no se si existen o no ya que los creo dinamicamente con php en cuestion como podria llenar el array de los campos si existen, ahi alguna forma de hacerlo, saludos
  #4 (permalink)  
Antiguo 19/06/2012, 08:43
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: como añadir valor a un array si existe el campo

Si los campos input los escribes en la página, ya sabes cuántos existen.

Si no los escribes, y "algo" los pone si que tengas control sobre si son 2 ó 3 (supongo que no hay más opciones), lo mejor es hacer una función y meter el mecanismo de verificación y armado del array allí.

Un modo sería poner un condicional if() que verifique si existe el tercer campo (lo mejor es usar el id), y si está, poner el elemento [2], y si no, dejar sólo hasta el [1].

Un método mejor sería aprovechar que se identifican como id="valorN" y recorrer con un bucle for() todos los campos hasta terminar, sumando 1 al N. Pero si son nada más que tres, casi no se justifica.

Si hubiese más, y no sabemos cuántos, los más eficiente es meterlos a todos en una "caja", y contarlos como colección de <input>. De un golpe sabemos cuántos hay y armamos el array en consecuencia.

Hay mil formas de hacerlo. Estudia cuál te conviene más y trabajamos sobre ésa.

[edit]
Me la paso editanto, caracho!

No vi sus últimos mensajes, perdón. Creo que no actualicé la página antes de responder. Igual los comentarios valen.
Creo.

[/edit]

Última edición por furoya; 19/06/2012 a las 08:47 Razón: Disculparme.
  #5 (permalink)  
Antiguo 19/06/2012, 08:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
Respuesta: como añadir valor a un array si existe el campo

furoya gracias por tu ayuda, me replanteare como hacerlo, un saludo.
  #6 (permalink)  
Antiguo 19/06/2012, 09:00
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: como añadir valor a un array si existe el campo

Cita:
Iniciado por pithon Ver Mensaje
Hola emprear, realmente los campos que quiero añadir en el array de javascript no se si existen o no ya que los creo dinamicamente con php en cuestion como podria llenar el array de los campos si existen, ahi alguna forma de hacerlo, saludos
Si vos generás un html, sea o no por php vas a tener

<input type="hidden" value="x" name="uno" id="uno" />
<input type="hidden" value="y" name="dos" id="dos" />
<input type="hidden" value="z" name="tres" id="tres" />

tu función de javascript deberá chequear los input hidden con determinado id ó name (o hasta una clase) y agregar sus values a un array. En definitiva, los identificadores los estás creando vos

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 19/06/2012, 15:29
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: como añadir valor a un array si existe el campo

Cita:
Iniciado por pithon Ver Mensaje
valores = [
["valor1", document.getElementById('valor1').value],
["valor2", document.getElementById('valor2').value],

if(document.getElementById('valor3')){}else{
["valor3", document.getElementById('valor3').value],
]
no me extraña que te levante error. no puedes hacer una condicional dentro de un array.

estamos hablando de n campos, por lo tanto primero habrá que obtener la colección de campos (getElementsByTagName) y después filtrar aquellos que son tipo "hidden" (type == 'hidden'). con esto ya tienes todos los campos hidden que existen el formulario.

por otro lado, dado la estructura, de array, que estás usando, te convendría utilizar objeto json por notación e ir extendiendo dicho objeto
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #8 (permalink)  
Antiguo 19/06/2012, 17:56
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: como añadir valor a un array si existe el campo

Cita:
Iniciado por IsaBelM Ver Mensaje
no me extraña que te levante error. no puedes hacer una condicional dentro de un array.
Por supuesto, 1ero defini los elementos, luego el condicional.
  #9 (permalink)  
Antiguo 20/06/2012, 06:09
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: como añadir valor a un array si existe el campo

Cita:
Iniciado por rodrigo791 Ver Mensaje
Por supuesto, 1ero defini los elementos, luego el condicional.
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: input, campos
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 20:26.