Champ dans un formulaire

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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?
      1. 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
        1. Bonjour,

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