Foros del Web » Programando para Internet » Javascript »

Recuperar un valor oculto con javascript

Estas en el tema de Recuperar un valor oculto con javascript en el foro de Javascript en Foros del Web. Hola tengo un formulario y quiero pasar un valor oculto hidden pero el valor lo tengo que conseguir llamando a una función javascript Código: <form ...
  #1 (permalink)  
Antiguo 03/03/2009, 06:00
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Recuperar un valor oculto con javascript

Hola tengo un formulario y quiero pasar un valor oculto hidden pero el valor lo tengo que conseguir llamando a una función javascript


Código:
<form name='formcolor' action='#'  metodo='POST' onsubmit='obtenerValores(this)'>
 <div class='fila '> 
   <input type='hidden' name='color' value='javascript:devolverColor();'/> /*Posible error */
</div>
</form>
pero cuando accedo al valor color me devuelve como valor 'javascript:devolverColor(); y no el resultado de la funcion javascript que tiene que ser una cadena con el nombre de un color.


¿Cómo seria?
  #2 (permalink)  
Antiguo 03/03/2009, 06:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Recuperar un valor oculto con javascript

Pues, deberías ejecutar la función devolverColor en el evento onload del documento, y colocarlo en el hidden haciendo referencia a su nombre o a su id.

Además, el nombre del atributo es method, no metodo
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/03/2009, 08:57
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recuperar un valor oculto con javascript

Gracias por lo del method un despiste! que despues seguramente cuando me diese problemas me costaría encontrar.

Y lo de devolverColor no me queda muy claro, primero que la página que tengo esta "separada en dos partes" y cada una puede tener un color diferente por lo que en el onload no lo podría hacer.

¿Se puede hacer en cada uno de los div respectivos de cada formulario?

y despues no se como se hace una referencia al nombre a su id.

(Soy algo novato en esto de javascript)

Gracias
  #4 (permalink)  
Antiguo 03/03/2009, 09:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Recuperar un valor oculto con javascript

Claro que puedes hacerlo en el onload, ya que ese es sólo el momento en que se ejecuta la función, nada más.

Un ejemplo de lo que comenté sería:
Código javascript:
Ver original
  1. window.onload = function() {
  2.     document.getElementById('id_elemento').value = devolverColor();
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 04/03/2009, 06:00
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recuperar un valor oculto con javascript

Pues no me funciona he hecho de todas formas algunos cambios, para no tener que utilizar el onload mira por un lado tengo la seleccion de color.

Código:
<form>
<div><span><img src='img/rojo.png' title='Rojo'onclick=cambiarColor(event, i)> 
<img src='img/verde.png' title='Verde'onclick='cambiarColor(event,i)'> 
<img src='img/azul.png' title='Azul'onclick='cambiarColor(event,i)>' 
</span>
<input type='hidden' name='color' value=''/>
</div>
.... // El formulario tiene mas campos..
</form>
Que escoges un color y cambia el color de un div dependiendo del valor de i.

entonces lo que quiero es que el type=hidden con name color tome como value el color que se ha escogido.

Para eso en la funcion javascript cambiarcolor aparte de cambiar el color del div hago esto

Código:
document.getElementsByName('color').value = devolverColor();
Pero no se guarda el valor en el tipo oculto se queda value=''

¿Qué hago mal? jeje si te has dado cuenta he cambiado la idea un poco espero que se siga entendiendo lo que quiero hacer.

Un saludo
  #6 (permalink)  
Antiguo 04/03/2009, 07:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Recuperar un valor oculto con javascript

getElementsByName no se usa de esa forma, mejor usa getElementById si quieres referirte a un elemento específico. Además, cuidado con las comillas en tu HTML, acostúmbrate a colocar todo entre comillas dobles, por ejemplo, onclick="funcion(param, param)".
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 04/03/2009, 09:02
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recuperar un valor oculto con javascript

oks gracias por tus consejos!

Pero una pregunta como utilizo getElementById en:

<input id="color" type="hidden" name="color" value=""/>

document.getElementsById('color').value = devolverColor();

El valor de color value sigue sin cambiarse aunque lo haga con getElementsById se queda como value=""

y no es que la funcion devolverColor este mal porque si le doy por ejemplo una cadena "#FFCCFF" directamente tampoco se cambia el input oculto.
  #8 (permalink)  
Antiguo 04/03/2009, 09:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Recuperar un valor oculto con javascript

¿Por qué dices que el valor no cambia? ¿Dónde es que queda como value=""? El cambio no se va a reflejar en el código HTML que te da el navegador , pero sí lo verás si envías el formulario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 04/03/2009, 09:45
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recuperar un valor oculto con javascript

Si si como te estoy diciendo no se porque pero cuando recupera el valor del color esta en blanco.
Vamos he hecho lo que he escrito antes

<input id="color" type="hidden" name="color" />

document.getElementsById('color').value = devolverColor();

Habrá algun error pero la verdad que no se cual es! De todas maneras he cambiado un poco el código y ahora lo que hago es hacer sobre la imagen del color poner onclick=form.color.value="#FFCCFF"

Y le meto el color directamente jeje es más lioso pero me funciona de todas maneras si sabes porque puede fallar dimelo.!

Muchas Gracias por tu interes de todas formas.
  #10 (permalink)  
Antiguo 04/03/2009, 09:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Recuperar un valor oculto con javascript

Habría que ver el código completo para precisar el por qué del error.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 08:03.