Buenas
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