Champ dans un formulaire

cedric12 Messages postés 29 Statut Membre -  
 jean luc -
Bonjour,

Dans une page php contenant un formulaire, l'utilisateur rentre la date.

Une fois qu'il a cliqué sur le bouton valider, les infos liées à la date apparaissent mais le champ date est vide car il y a rafraichissement. Je souhaite que la date tapée précédemment tapée soit présent dans ce champ.

Idem lorsqu'on clique sur un bouton checkbox, les case cochées restent cochées..
Merci

4 réponses

crabs Messages postés 909 Statut Membre 507
 
Salut,
Dans le script qui rafraichit la page (suite au post), affectes l'attribut 'value' des
champs 'input' lors de la génération du formulaire.
Pour un textarea, mettre le texte à afficher entre les balises ouvrante et fermante.
Pour les checkbox il faut rajouter un attribut sans valeur 'checked'.
Pour les listes 'select' il faut mettre un attribut sans valeur 'selected' pour l'option
Dans le cas du XHTML il me semble qu'il faille mettre :
- checked="checked" pour les checkbox,
- selected="selected" pour les options

A+, crabs
0
cedric12 Messages postés 29 Statut Membre
 
ok mais comment réaliser ce script de rafraichissement en lien passant les valeurs avec selected comme attribut. ci-dessous mon script:

<html>
<head>
<title>titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post">
<table width="761">
<tr>
<td width="63">element1:</td>
<td width="101"><input type="checkbox" name="checkbox1" value="audiphone">ELEMENT1</td>
<td width="108"><input type="checkbox" name="element2" value="checkbox2">ELEMENT2</td>
<td width="279"><input name="submit" type="submit" value="Rechercher"/></td>
</tr>
</table>
</form>
</body>
</html>

Faut-il que j'utilise $_GET?
0
crabs Messages postés 909 Statut Membre 507
 
Salut,
exemple pour une checkbox, disons que ton script s'appelle check.php
je ne traite que checkbox1

<?php
// Initisation de la session si nécessaire
// header() pour le cache si nécessaire
if ( array_key_exists( 'checkbox1', $_POST ) )
   {
   // checkbox1 est cochée dans le formulaire ayant déclenché le post
   $val_checkbox1 = ' checked' ; // espace important en ' et c
   // enregistrement si nécessaire dans la session, peut eviter de passer en GET
   // les valeurs pour les liens
   }
else
   {
   // checkbox1 n'est pas cochée dans le formulaire ayant déclenché le post
   $val_checkbox1 = '' ;
   // mise à jour si nécessaire dans la session
   }
// Le reste du traitement
...
// On affiche la page   
echo <<<HTML
<html>
 <head>
 <title>titre</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </head>
 <body>
  <form method="post" action="check.php">
   <table width="761">
    <tr>
     <td width="63">element1:</td>
     <td width="101"><input type="checkbox"
                      name="checkbox1"$val_checkbox1>ELEMENT1</td>
     <td width="108"><input type="checkbox"
                      name="element2"$val_checkbox2>ELEMENT2</td>
     <td width="279"><input name="submit" type="submit"
                      value="Rechercher"/></td>
    </tr>
   </table>
  </form>
 </body>
</html>
HTML;
?>

A+, crabs
0
jean luc
 
Bonjour,

dans mon slip j'ai fait un gros pet foireu...
Quelqu'un saurait comment faire ??
-1