Mon but est de faire une case qui coche toutes les autres cases.

Voici mon code normal (simplifié) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
<form method="post">
 
<?
while($row = mysql_fetch_assoc($req))
{
?>
 
<input type="checkbox" name="tab[]" value="<?echo $row['id']?>">
 
<?
}
?>
 
<input type="submit" name="del_log" value="Supprimer log">
</form>
 
<?
if(isset($_POST['del_log']))
{
 
foreach($_POST['tab'] as $id)
{
$sql='DELETE FROM logs WHERE id = '.$id.';';
$req = mysql_query($sql);
}
 
}
?>
Il fonctionne très bien, càd qu'il supprime les entrées que j'ai selectionnées.

Maintenant je rajoute un nom à mon formulaire et je rajoute la case qui devra cocher toutes les autres :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<form name="test_form" method="post">
 
<input type="checkbox" name="test_name" onclick="test_fct()">
Je rajoute le code JavaScript au début de la page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<head>
<script language="JavaScript">
function test_fct()
{
 var choix = document.test_form.tab;
 for(var i=0;i<choix.length;i++)
  choix[i].checked=true;
}
</script>
</head>
Et ca ne fonctionne pas (je n'ai pas d'erreur mais il ne se passe rien) ... à mon avis ca vient de la selection document.test_form.tab, j'ai essayé avec document.test_form.tab[] mais la il me met une erreur de syntaxe.

Merci de bien vouloir m'aider, c'est mon premier script js