Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/11/2004, 07:39
angsanchez
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 20 años, 4 meses
Puntos: 3
Sí, JavierB, era con dos signos igual. Pero en Firefox (dije Mozilla por error) fallaba la lectura del valor 'type'. ¡Vaya! hoy funciona bien, no sé que pasó ayer pero ¡¡convertía en checkboxes los botones!!
(además, veo que en marcaTodos puse
Código:
for (i=1;
y debería ser
Código:
for (i=0;
; mickeyy, corrígelo)

La versión más elegante sería, pues , así:
Código HTML:
<html>
<head>
<script language="javascript" type="text/javascript">
function marcaTodos(formu) {
	for (i=0; i<formu.length; i++) {
		with (formu.elements[i]) {
			if ( type == 'checkbox' ) { checked = true }
		}
	}
}

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

<body>
<form>
<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
<br><br>
<input type="button" value="Marcar todos" onClick="marcaTodos(this.form)">
 &nbsp; 
<input type="button" value="Invertir" onClick="invierte(this.form)">
</form>
</body>
</html> 
Con lo cual ya no depende del nombre del control, sólo de que sea un checkbox.

¡Suerte!