Tengo un formulario a través del cual con php saco los resultados de una tabla en mysql y con un bucle la voy recorriendo y creando checkbox.
Tengo un checkbox que al marcarlo/desmarcarlo, selecciona/deselecciona todos los checkbox, pero para algo "raro" y es que si empiezo el <form> dejando fuera un input type submit (o button), si hace el script bien su función. Sin embargo, si lo meto dentro del <form>, solo deselecciona los seleccionados pero no lo al contrario.
Como ese submit solo aparece si se da una condición en php, creo que por ahi viene el error, pero a la vez no se como arreglarlo.
Dejo el ejemplo de como lo hace mal y a continuación como lo hace bien:
Así mal: Solo deselecciona
Código Javascript:
Ver original
<script language="javascript" type="text/javascript"> function selectall(form) { var formulario = eval(formu) for (var i=0, len=formulario.elements.length; i<len ; i++) { if ( formulario.elements[i].type == "checkbox" ) formulario.elements[i].checked = formulario.elements[0].checked } } </script> <form action="bbb.php" method="post" name="formu"> <?php if($nomscript!="aaa.php")) { ?><input type="submit" value="Borrar"> <?php }//fin distinto a nuevo o leer ?> <table class="xxx"> <tr class="xxx"> <td><input type="checkbox" onclick="selectall(document.forms[0])" /></td> <td>Valor</td> </tr> <?php /*Parte de consulta a la base de datos para sacar la query*/ /*con la query el bucle siguiente que crea el resto de checkbox*/ while ($query) { ?> <tr> <td><input name="msjselect[]" type="checkbox" value="<?php echo"$id"; ?>" /></td> <td><?php echo"$id"; ?></td> </tr> <?php } </table> </form>
Para que si haga la función se arregla o quitando el bucle del principio, es decir quitando que segun el nombre del script.php salga o no salga el submit o dejandolo fuera del form (que viene a ser lo mismo)
Pero claro no se si es posible que estando ese botón según el nombre del script, pues cargue bien javascript
Gracias, saludos