Foros del Web » Programando para Internet » Javascript »

Problema con script al seleccionar checkbox

Estas en el tema de Problema con script al seleccionar checkbox en el foro de Javascript en Foros del Web. Buenas a todos Eh tomado un ejemplo del foro que me sirve para una aplicacion, pero me eh encontrado con el siguiente problema al utilizar ...
  #1 (permalink)  
Antiguo 11/11/2004, 07:50
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Problema con script al seleccionar checkbox

Buenas a todos
Eh tomado un ejemplo del foro que me sirve para una aplicacion, pero me eh encontrado con el siguiente problema al utilizar la etiqueta <fieldset>

El ejemplo me permite seleccionar todos los checkbox o unvertir los checkbox marcados, pero al utilizar la etiqueta <fieldset> me daje de funcionar.
Como puedo solucionar el problema o con que puedo reemplazar la etiqueta <fieldset> por algo similar para mantener el luck de la pagina.

Aca les dejo un ejemplo de codigo con el cual me genera el problema

Código PHP:

<HTML>
<
head>
<
script language="javascript" type="text/javascript">
function 
marcaTodos(formu) {
    for (
i=0i<formu.lengthi++) {
        
with (formu.elements[i]) {
            if ( 
type == 'checkbox' ) { checked true }
        }
    }
}

function 
invierte(formu) {
    for (
i=0i<formu.lengthi++) {
        
with (formu.elements[i]) {
            if ( 
type == 'checkbox' ) { checked = !checked }
        }
    }
}
</script>

</HEAD>
<body>
<form>
       
    <fieldset class="fieldset">
        <legend>&nbsp;&nbsp;bla bla bla&nbsp;&nbsp;</legend>
    <input type="checkbox" name="checkbox1" checked>op-1
    <br><input type="checkbox" name="checkbox2">op-2
    <br><input type="checkbox" name="checkbox3">op-3
    <br><input type="checkbox" name="checkbox4" checked>op-4
    </fieldset>
                     

<table border="0" width="100%">
  <tr>
     <td width="100%"  align="center">
       <input type="button" value="Marcar todos" onClick="marcaTodos(this.form)" >&nbsp;&nbsp;
       <input type="button" value="Invertir" onClick="invierte(this.form)" >&nbsp;&nbsp;
     </td>
  </tr>
</table> 
desde ya muchas gracias y saludos a todos
  #2 (permalink)  
Antiguo 11/11/2004, 10:20
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 Chuty.

El problema es que el fieldset es un elemento más del formulario y cuando preguntas por el tipo if ( type == 'checkbox' ) el código falla porque el fieldset no tiene esa propiedad. Prueba con esta pequeña modificación:

with (formu.elements[i]) {
if(className!='fieldset')
if ( type == 'checkbox' ) { checked = true }

Saludos,
  #3 (permalink)  
Antiguo 11/11/2004, 11:26
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias JavierB era esa la respuesta que buscaba
  #4 (permalink)  
Antiguo 11/11/2004, 11:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
No hay de que. Me alegro de que lo hayas solucionado
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




La zona horaria es GMT -6. Ahora son las 09:50.