| ||||
;) Código HTML: <html> <head> <script type="text/javascript"> function Cambia(txek) { if(txek.checked) { document.formu.nombre.value="true"; } else { document.formu.nombre.value=""; } } </script> </head> <body> <form name="formu"> <input type="checkbox" name="caja" onClick="Cambia(this)" /> <input type="text" name="nombre" readonly /> </form> </body> </html> Código HTML: <html> <head> <script type="text/javascript"> function Cambia(txek,ph,nom) { if(txek.checked) { document.ph.nom.value="true"; } else { document.ph.nom.value=""; } } </script> </head> <body> <form name="formu"> <input type="checkbox" name="caja" onClick="Cambia(this,'formu','nombre')" /> <input type="text" name="nombre" readonly /> </form> </body> </html> |
| |||
Solución cambiar valor de input al presionar checkbox La segunda función no te puede funcionar porque le estás mandando un nombre de variable en vez de una referencia a un objeto en la línea: document.ph.nom.value="true"; lo que debes hacer para que te funcione pasandole las variables es utilizar: eval, así: eval('document.'+ph+'.'+nom+'.value="true";');. La función eval, evalúa (jejeje) la expresión que le pasas como argumento e intenta ejecutarla, así puedes obtener el resultado deseado. Espero pueda servirte, lo único que tienes que hacer es reemplazar: document.ph.nom.value="true"; por eval('document.'+ph+'.'+nom+'.value="true";'); document.ph.nom.value=""; por eval('document.'+ph+'.'+nom+'.value="";'); |
| ||||
Hola: Bueno, no es obligatorio usar eval (personalmente me gusta muy poco su uso) Si quieres referenciar un atributo con una variable también se puede poner la variable entre corchetes: document[ph][nom].value; Saludos ![]()
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |