Forums Últimos mensajes - Powered by IBM
 

Pasar parámetro a funcion Javascript en ASP

28/02/2006 - 18:07 por Jorditus | Informe spam
Estoy intentando pasar un parámetro a una funcion Javascript para que
actúe sobre un checkbox específico que le informo como parámetro. En
esencia, el código utilizado es:

function cambiactivo(id) {
if(document.frmcanviactiu.nombrecheckbox[id].checked)
{
alert(document.frmcanviactiu.nombrecheckbox[id].checked);
}
else
{
alert(document.frmcanviactiu.nombrecheckbox[id].checked);
}
}

Por lo que tengo entendido, si yo llamo esta funcion por ejemplo con
"cambioactivo(10)", la funcion tendría que buscar el campo del
formulario (en este caso un checkbox) llamado "nombrecheckbox10" y
mostrarme si está marcado o no, pero no lo consigo, me aparece un
error de javascript diciendo que
"document.frmcanviactiu.nombrecheckbox" es nulo o no es un objeto.

Gracias
 

Leer las respuestas

#1 Miguel Gonzalez
28/02/2006 - 22:05 | Informe spam
Hola Jorditus.

El nombre (name) de un "checkbox" formulario puede referirse a varios elementos "checkbox" con el
mismo nombre. Cuando se envia el formulario se envian los valores de todos los "checkbox" que estén
seleccionados:

<input type="checkbox" value="blanco" name="colores" />
<input type="checkbox" value="negro" name="colores" />
<input type="checkbox" value="rojo" name="colores" />
<input type="checkbox" value="verde" name="colores" />

Lo que estás pasando a la función es el número de índice del checkbox que quieres comprobar (es lo
que va entre corchetes). Así, el checkbox colores[0] se refiere al que contiene el valor "blanco", y
colores[2] al "rojo"...

En tu caso, estás pasando un índice pero en realidad lo que quieres hace con ese número es completar
el nombre del checkbox. Para ello, tendrías que hacer algo así:

if(eval("document.frmcanviactiu.nombrecheckbox"+id+".checked"))

Saludos!
Miguel


Jorditus escribió:
Estoy intentando pasar un parámetro a una funcion Javascript para que
actúe sobre un checkbox específico que le informo como parámetro. En
esencia, el código utilizado es:

function cambiactivo(id) {
if(document.frmcanviactiu.nombrecheckbox[id].checked)
{
alert(document.frmcanviactiu.nombrecheckbox[id].checked);
}
else
{
alert(document.frmcanviactiu.nombrecheckbox[id].checked);
}
}

Por lo que tengo entendido, si yo llamo esta funcion por ejemplo con
"cambioactivo(10)", la funcion tendría que buscar el campo del
formulario (en este caso un checkbox) llamado "nombrecheckbox10" y
mostrarme si está marcado o no, pero no lo consigo, me aparece un
error de javascript diciendo que
"document.frmcanviactiu.nombrecheckbox" es nulo o no es un objeto.

Gracias

Preguntas similares