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
y debería ser
; 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)">
<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!