Cambiando un campo HIDDEN desde 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
.
loading...

loading...
Excelente aporte men, llevo mas de 1 hora calentandome la cabeza intentando exactamente lo mismo utilizando el metodo tradicional
me acabas de dar una gran ayuda
Saludos
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.
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.
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″;
.
.
.
loading...
No puedo ver la línea de la que tanto habla dani