Foros del Web » Programando para Internet » Javascript »

Un problema con un check

Estas en el tema de Un problema con un check en el foro de Javascript en Foros del Web. Hola: A partir de un checkbox tengo que deshabilitar unos cuadros de texto que aparecen dentro de mi formulario, pero no entiendo por que no ...
  #1 (permalink)  
Antiguo 03/12/2003, 11:36
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Un problema con un check

Hola:
A partir de un checkbox tengo que deshabilitar unos cuadros de texto que aparecen dentro de mi formulario, pero no entiendo por que no me resulta.
Aca esta parte del codigo:
Código PHP:
function desabilitar_cert(c)
{
name="";
for (i=0;i<c;i++)
 {
    name="certamen"+i;
    document.forms.element[name].disabled = this.checked;
 }
}
.
.
.
//estos son los campos de texto que quiero deshabilitar
<input name="certamen<? echo $j;?>" type="text" size="3" maxlength="3" value="<? echo $valor_por_cien;?>" onkeyup="sumar_certamen(<? echo $certamen?>);validar_certamen();"></td>

.
.
.
//aca esta la llamada a la funcion
<input name="uni_cert" type="checkbox" value="1" onClick="desabilitar_cert(<? echo $certamen;?>);">
Los campos de texto se van generando en un for y tienen como nombres "certamen0 certamen1 certamen2 hasta el valor de j dentro del for"

Espero que me entiendan y me ayuden

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #2 (permalink)  
Antiguo 03/12/2003, 12:38
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, KillerBKS.

Pon la función así:
Código PHP:
function desabilitar_cert(obj,c)
{
name="";
for (
i=0;i<c;i++)
 {
    
name="certamen"+i;
    eval(
'document.forms[0].'+name+'.disabled = obj.checked');
 }

Y la llamas de esta forma:
Código PHP:
<input name="uni_cert" type="checkbox" value="1" onClick="desabilitar_cert(this,<? echo $certamen;?> );">
Espero que te funcione. Saludos,

Última edición por JavierB; 03/12/2003 a las 12:39
  #3 (permalink)  
Antiguo 09/12/2003, 14:17
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
tampoco funciono..........


Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #4 (permalink)  
Antiguo 10/12/2003, 08:12
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 6 meses
Puntos: 13
Dale de nombre al formulario 'form1' y el checkbox que deshabilita se llama padre y pon esto:

function desabilitar_cert(){
for (var cont = 0; cont < document.form1.elements.length; cont++){
if (document.form1.elements[cont].name.substr(0,7) == "certamen")
document.form1.elements[cont].checked = document.form1.padre.checked;;
}
}
  #5 (permalink)  
Antiguo 10/12/2003, 10:34
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
No hay caso.......no funciona tampoco

y no logro entender que pasa
__________________
AK.T.I.V.E.tm Live, Never DIE
  #6 (permalink)  
Antiguo 11/12/2003, 07:39
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 6 meses
Puntos: 13
Perdón prueba con esto:

function desabilitar_cert(){
for (var cont = 0; cont < document.form1.elements.length; cont++){
if (document.form1.elements[cont].name.substr(0,8) == "certamen")
document.form1.elements[cont].checked = document.form1.padre.checked;
}
}

Lo unico que he cambiado ha sido el substr (hasta 8 en vez de 7) y le he quitado un ; de mas
  #7 (permalink)  
Antiguo 11/12/2003, 11:10
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
nada de nada

:(
__________________
AK.T.I.V.E.tm Live, Never DIE
  #8 (permalink)  
Antiguo 12/12/2003, 08:42
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 6 meses
Puntos: 13
Perdona creia qhe erán checkbox mira a ver ahora:

function desabilitar_cert(){
for (var cont = 0; cont < document.form1.elements.length; cont++){
if (document.form1.elements[cont].name.substr(0,8) == "certamen")
document.form1.elements[cont].disabled=true;
}
}
  #9 (permalink)  
Antiguo 12/12/2003, 09:55
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias.....ahora funciona, pero tengo otro problema
Existe un campo que se llama "cert_total" que es donde voy almacenando la suma de los valores ingresados en certamen0, certamen1,etc. Al momento de ingresar al script, el campo cert_total debe aparecer deshabilitado, de forma de solo poder mostrar la suma y que no se pueda ingresar ningun numero.
Luego, cuando se presiona el Checkbox "uni_cert" se debe habilitar cert_total y deshabilitar los campos certamen0,certamen1,etc.

Espero que me entiendan y me ayuden

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #10 (permalink)  
Antiguo 14/12/2003, 11:20
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Ayuda por favor ¡¡¡¡¡¡
__________________
AK.T.I.V.E.tm Live, Never DIE
  #11 (permalink)  
Antiguo 15/12/2003, 03:14
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 6 meses
Puntos: 13
Prueba esto:

function desabilitar_cert(){
var activo = document.form1.uni_cert.checked;
for (var cont = 0; cont < document.form1.elements.length; cont++){
if (document.form1.elements[cont].name.substr(0,8) == "certamen")
document.form1.elements[cont].disabled = activo;
document.form1.cert_total.disabled = !activo
}
}
  #12 (permalink)  
Antiguo 15/12/2003, 08:38
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias.......Ahora funciona muy bien

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:35.