JavaScript - usar una variable como nombre de un input

 
Vista:

usar una variable como nombre de un input

Publicado por Luis Alberto (3 intervenciones) el 06/04/2011 20:26:46
Hola

mi problema es el siguiente: necesito asignar un valor al value de un input pero tengo el monbre de ese input en una variable i.e.

var nombre="cas"+n

//esto determina el nombre del input que deseo usar
//ahora lo que quiero es asignarle un valor al value de ese input

form17.nombre.value=5

//pero esto no me funciona, si alguien me puede ayudar sería genial, de todos modos Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

usar una variable como nombre de un input

Publicado por AndresS (20 intervenciones) el 07/04/2011 16:04:26
Hola Luis Alberto,

Me pareece que el problema está en la definición de los atributos del campo input "name" y "id". Para IE funciona con el atributo "name", pero para firefox y otros debes asignarle el "id".

p.e.

<input name="mi_campo" id="mi_campo" />

<script>
mi_campo.value = "valor";
</script>

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

usar una variable como nombre de un input

Publicado por Luis Alberto (3 intervenciones) el 08/04/2011 00:59:45
Muchas gracias AndresS, pero la situación es un poco más complicada. En realidad lo que yo tengo es una serie de input con caracteristicas similares, pero como hasta donde llegan mis limitados conocimientos, no puedo crear un arreglo con ellos asi es que los llamo: "caja1" , "caja2" , etc. pero luego cuando quiero cambiar su value cuyo indice viene dado por una variable (n), no puedo, he tratado de las siguientes maneras:

form17." caja"+n.value.= 6

var nombre= "caja"+n
form17. nombre.value.= 6

pero no me funciona, el caso es que necesito referirme a una de ellas en particular, dependiendo del valor de n. Tal vez, si exista la forma de crear un arreglo de input y yo no la conozco.
como siempre, agradezco cualquier ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

usar una variable como nombre de un input

Publicado por AndresS (20 intervenciones) el 08/04/2011 15:49:27
Ok, ahora entiendo mejor. Lo que se puede hacer es:


<form id="mi_formulario" name="mi_formulario">

<input name="caja1" id="caja1" /><br />
<input name="caja2" id="caja2" /><br />
<input name="caja3" id="caja3" /><br />

</form>

<script language="javascript"type="text/javascript">

var n = 1; //es el valor obtenido
mi_formulario['caja'+n].value = 'valor de la caja'; // asigno el valor a la caja n

</script>

RECORDAR siempre que el script debe ejecutarse una vez que existan las cajas. Si colocamos este script antes del formulario, dará un error porque todavía no existen las cajas. Otra forma es ejecutar el script con el evento onLoad en body o en el header (colocando el script dentro de una función).

function asignar_valor(n){
mi_formulario['caja'+n].value = 'valor de la caja'; // asigno el valor a la caja n
}

espero que te sirva,
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

usar una variable como nombre de un input

Publicado por Luis Alberto (3 intervenciones) el 08/04/2011 17:56:58
Grande AndresS, funcionó a la perfección, te pasate, ojalá en algún momento te puede devolver la mano. no sabes lo mucho que me ayudaste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar