Inicio > Programación > Cambiando un campo HIDDEN desde JavaScript

Cambiando un campo HIDDEN desde JavaScript

Miércoles, 19 de marzo de 2008 Dejar un comentario Ir a comentarios

JavaScript

Hoy os comento una de esas curiosidades de programación que a más de uno le habrá traído un buen dolor de cabeza. Resulta que estoy desarrollando una aplicación Web para un trabajo de la universidad, y he tenido la necesidad de cambiar el valor de un campo “Hidden” dependiendo del botón seleccionado en un formulario para posteriormente pasar dicho valor al servidor y realizar una acción u otra.

El problema lo he tenido a la hora de intentar acceder a ese campo desde una función JavaScript, ya que no encontraba dicho campo desde document.Formulario. Después de más de una hora intentando acceder a dicho elemento he encontrado una forma de hacerlo, os dejo aquí un ejemplo antes de pasar a comentaros brevemente el mismo.

<script language="javascript" type="text/javascript">
	function image_submit(boton) {
		if (boton.value == "Aceptar")	{
			if (confirm('¿Estas seguro aceptar esta imagen para el tip?')){
				boton.form.elements['accionImagen'].value="1";
				boton.form.submit();
			}
		}
		else {
			if (confirm('¿Estas seguro de rechazar definitivamente esta imagen?')){
				boton.form.elements['accionImagen'].value="2";
				boton.form.submit();
			}
		}
	}
</script>

<input type="button" value="Aceptar" class="button" onclick="image_submit(this)"/>
<input type="button" value="Rechazar" class="button" onclick="image_submit(this)"/> 

<input type="hidden" name="accionImagen"/>

Como podéis observar accedo al formulario por medio de un campo del mismo que le he enviado a esta función. ¿Por qué no lo hago de la forma habitual con document.nombreFormulario? simplemente porque no funciona. La verdad es que no domino este lenguaje y solo quería comentar lo que me ha sucedido por si a alguien le puede ser de ayuda. De todos modos si alguien me puede explicar porque no funciona de la otra manera o puede proponer alguna otra alternativa, puede dejar sus comentarios ;) .

GD Star Rating
loading...
Cambiando un campo HIDDEN desde JavaScript, 10.0 out of 10 based on 2 ratings
Share
  1. Diego
    Miércoles, 6 de mayo de 2009 a las 23:14 | #1
    GD Star Rating
    loading...

    Excelente aporte men, llevo mas de 1 hora calentandome la cabeza intentando exactamente lo mismo utilizando el metodo tradicional :P

    me acabas de dar una gran ayuda

    Saludos

  2. Dani
    Miércoles, 22 de julio de 2009 a las 14:44 | #2
    GD Star Rating
    loading...

    Seguramente se solventaría tu problema al escribir la siguiente línea:

    El problema radicaba en que si no pones esta línea, cuando navegas por el DOM para acceder al elemento, “solo puedes navegar por los elementos que ves por pantalla” y por tanto no tenías acceso a dicho elemento.

  3. Dani
    Miércoles, 22 de julio de 2009 a las 14:45 | #3
    GD Star Rating
    loading...

    Seguramente se solventaría tu problema al escribir la siguiente línea:
    “”

    El problema radicaba en que si no pones esta línea, cuando navegas por el DOM para acceder al elemento, “solo puedes navegar por los elementos que ves por pantalla” y por tanto no tenías acceso a dicho elemento.

  4. saul
    Martes, 5 de julio de 2011 a las 18:33 | #4
    GD Star Rating
    loading...

    tambien otra manera de hacerlo y sin usar boton seria:

    .
    .
    .
    hiddens=document.getElementById(“accionImagen”);// o cualquier otro elemento del form
    hiddens.form.elements['accionImagen'].value=”1″;
    .
    .
    .

  5. Uriel
    Lunes, 3 de octubre de 2011 a las 19:18 | #5
    GD Star Rating
    loading...

    No puedo ver la línea de la que tanto habla dani

  1. Sin trackbacks aún.