Bonjour.

Voilà mes "soucis".

J'ai un formulaire comprenant des checkboxes (certains affichent d'autres via JS et les autres sont là pour des valeurs) et voici les "soucis" que ça m'amène :
1 - Quand je vérifie le formulaire, je ne sais pas comment récupérer l'état (checked ou unchecked) pour que l'utilisateur n'est pas à les recocher en cas d'erreur.
2 - Si le page se recharge s'il y a une erreur, mes "menus checkbox" se retrouve à nouveau masquer. Y-a-til une solution à cela ?

Voilà un morceau de mon formulaire :

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
30
31
32
33
34
35
36
37
38
<form name="forml" method="post" action="<?php echo $_SERVER['PHP_SELF'].'?lang='.$lang; ?>">		
[...]
<input type="checkbox" onclick="toggle('gene')"><label>Devis conception générale</label>
<fieldset id="gene" style="display:block;" class="cll"><legend>conception générale</legend>   
	<input type="checkbox" name="cg1" value="logo"><label><?php echo logo; ?></label>
	<input type="checkbox" name="cg2" value="chartegraphique"><label><?php echo charte_grap; ?></label>
	<input type="checkbox" name="cg3" value="info" onclick="toggle('mess1')" class="cll">
	<label>Informations</label>
	<textarea name="mess1" cols="70" rows="6" id="mess1" style="display:none;"><?php echo $mess1 ; ?></textarea>
</fieldset>
[...]
	<?php	
	if($_POST['action'] == 'submitted') {
	if((empty($nom ))
	||(empty($prenom ))
	||(empty($sujet2 ))
	||(empty($mess ))
	||(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$email)))
	echo error;
	else
	{
	$adress = "web@strix.fr";
	$sujet = "$_POST[sujet2]";
	$from = "From: ".$_POST[email]."\n";			$from .= "MIME-version: 1.0\n";
	$from .= "Content-type: text/html; charset= iso-8859-1\n";
	$message="
	$_POST[nom] $_POST[prenom]<br>
	$_POST[societe]<br>
	$_POST[email]<br><br>
	$_POST[sujet2]<br>
	$_POST[mess]";
	mail($adress, $sujet, $message, $from);
	echo ok;
	echo '<meta http-equiv="Refresh" content="0; URL=accueil.php?lang=' . $lang . '">';
	}
	}			
?>
</form>
Le JS si ça peut vous donnez des pistes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<script type="text/javascript">
 function toggle (idDetail) {
	var style = document.getElementById(idDetail).style;
	style.display = (style.display == "none") ? "" : "none";
	}
</script>
Merci d'avance