Salve, avrei bisogno di un aiuto. A dir la verità non è solo questione di javascript ma anche di PHP. Io ho creato una pagina dove vengono visualizzati dei record recuperati da un database attraverso un ciclo while in php. Per ogni record ho inserito un campo checkbox con il nome "messaggi[]" . In questo modo ogni record viene identificato da un elemento dell' array "messaggi[]" e quando un utente seleziona un chekbox viene cancellato il rispettivo record. Ora il problema sta nel voler creare anche un tasto che dia la possibilità in un colpo solo di selezionare tutti i campi checkbox. Questo è chiaro che si fa in javascript, però il sistema creato in php non mi dà la possibilità di usare tale script perchè non riconosce il name che ho dato ai campi checkbox "messaggi[]". Di seguito vi invio lo script per capire meglio il tutto:
<html>
<head><title>prova</title></head>
<script language="JavaScript">
function checkAll()
{
i=0;
do
{
box = eval("document.form.messaggi" + "[" + i + "]");
if (box.checked == false) box.checked = true;
else
if (box.checked == true) box.checked = false;
i++;
}
while (i<=document.form.length);
}
function conferma()
{
chiediconferma=confirm('Sei sicuro di voler cancellare il/i messaggi ?');
if (chiediconferma==true)
{
location.href="delete.php";
}
else
return false;
}
</script>
<body>
<?
$dbhost = 'localhost';
$dbname = 'dream';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost,$dbuser,$dbpass)
or die ("connessione fallita");
mysql_select_db($dbname,$conn)
or die("database error");
$strsql = "select * from check";
$query = mysql_query($strsql) or die (" error");
?>
<table border="1" width="100%">
<form name="form" method="post" action="delete.php" onsubmit=" return conferma();">
<?
while ($row=mysql_fetch_array($query))
{
$id = $row['id'];
?>
<tr><td width="5%"><input type='checkbox' name="messaggi[]" value="<? echo $id ?>"></td><td><? echo $row['messaggio'] ?></td></tr>
<?
}
?>
<tr><td><input type="submit" value="cancella messaggio"></td></tr>
<tr><td><input type="button" value="Seleziona tutto" onClick="checkAll()"></td></tr>
</form>
</table>
</body>
</html>
<html>
<head><title>prova</title></head>
<script language="JavaScript">
function checkAll()
{
i=0;
do
{
box = eval("document.form.messaggi" + "[" + i + "]");
if (box.checked == false) box.checked = true;
else
if (box.checked == true) box.checked = false;
i++;
}
while (i<=document.form.length);
}
function conferma()
{
chiediconferma=confirm('Sei sicuro di voler cancellare il/i messaggi ?');
if (chiediconferma==true)
{
location.href="delete.php";
}
else
return false;
}
</script>
<body>
<?
$dbhost = 'localhost';
$dbname = 'dream';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost,$dbuser,$dbpass)
or die ("connessione fallita");
mysql_select_db($dbname,$conn)
or die("database error");
$strsql = "select * from check";
$query = mysql_query($strsql) or die (" error");
?>
<table border="1" width="100%">
<form name="form" method="post" action="delete.php" onsubmit=" return conferma();">
<?
while ($row=mysql_fetch_array($query))
{
$id = $row['id'];
?>
<tr><td width="5%"><input type='checkbox' name="messaggi[]" value="<? echo $id ?>"></td><td><? echo $row['messaggio'] ?></td></tr>
<?
}
?>
<tr><td><input type="submit" value="cancella messaggio"></td></tr>
<tr><td><input type="button" value="Seleziona tutto" onClick="checkAll()"></td></tr>
</form>
</table>
</body>
</html>