Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS]formulaire

evolution

    14 juin 2006 à 11:19:34

    Bonjour, je souhaiterais faire evoluer mon formulaire au fur et à mesure que l'utilisateur le rempli.En fonction de ce qu'il prérempli les données dans les listes déroulantes changent.
    Cependant j'ai cherché comment faire en PHP mais on m'a dit qu'en JS c'était possible Seulement je n'ai aucune notion en JS :o .
    Merci ;)
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2006 à 11:26:03

      Cours de javascript : http://www.editeurjavascript.com/cours/

      Sinon precise nous ton formulaire et le fonctionnement que tu souhaite, on te montrera comment faire.
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2006 à 14:12:46

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
                <head> 
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                        <title>Ajout d'une Etiquette</title>
                        <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" /> 
                </head>
               
                <body>
                        <div id="corps">
                                <h1>Ajout &#201;tiquette</h1><br/>
                                        <table>
                                                <thead>
                                                        <tr>
                                                                <th>Localisation</th>
                                                                <th>Poste</th>
                                                                <th>Format</th>
                                                                <th>Code</th>
                                                        </tr>
                                                </thead>
                                       
                                                        <tr>   
                                        <form action="ajout_etiquette.php" method="post">
                                                <p>          
                                                                <td>       
                                                                                        <label>
                                                                                                <select name="localisation">
                                                                                                        <option value="1ere Transformation" face="Comic Sans MS">1<sup>ère </sup>Transformation</option>
                                                                                                        <option value="Abats" face="Comic Sans MS">Abats</option>
                                                                                                        <option value="2eme Transformation">2<sup>ème </sup>Transformation</option>
                                                                                                        <option value="3eme Transformation">3<sup>ème </sup>Transformation</option>
                                                                                                        <option value="Surgelés">Surgelés</option>
                                                                                                        <option value="Préparation commande">Préparation commande</option>
                                                                                                        <option value="Réception">Réception</option>
                                                                                                        <option value="Cuir">Cuir</option>
                                                                                                </select>
                                                                                        </label>

                                                                </td>
                                                                <td>
                                                                <!--wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww-->
                                                                                        <label> 
                                                                                                <select name="poste">                              
                                                                                                                <?php
                                                                                                                                include("connexionbdd.php");
                                                                                                                                $post = mysql_query("SELECT Nom_poste FROM tposte ORDER BY Nom_poste");
                                                                                                                                while( $reponse = mysql_fetch_array($post) )
                                                                                                                                {
                                                                                                                                        ?>
                                                                                                                                                <option value="<?php echo $reponse['
        Nom_poste']; ?>"><?php echo $reponse['Nom_poste'];?></option>
                                                                                                                <?php   }?>               
                                                                                                               
                                                                                                </select>       
                                                                                        </label>
                                                                </td>
                                                                <!--wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww-->
                                                                <td>
                                                                                <input type="text" name="formats"/>
                                                                </td>
                                                                <td>
                                                                        <input type="text" name="code"/>
                                                                </td>
                                                               
                                                        <tr>
                                                                <td></td>
                                                                <td></td>
                                                                <td></td>
                                                        </tr>
                                                        <tr>
                                                                <td></td>
                                                               
                                                                <td><input type="submit" value="Valider"/></td>
                                                        </tr>
                                                </p>
                                        </form>
                                       
                                </table>
                                <br/><p>
                                <img src="images/rond.PNG" border="0" width="17" height="16" alt="" align="left"><a href="gestion_etiquette.php" class="titre">&nbsp;&nbsp;&nbsp; Retour</a><br/>
                                <img src="images/rond.PNG" border="0" width="17" height="16" alt="" align="left"><a href="../index.php"class="titre">&nbsp;&nbsp;&nbsp; Retour à l'
        accueil</a>                       
                                </p>                           
        <?php
                        if(isset ($_POST['localisation']) AND isset ($_POST['poste']) AND isset ($_POST['formats']) AND isset ($_POST['code']))
                        {
                                if($_POST['localisation'] != NULL  AND $_POST['poste'] != NULL AND $_POST['formats'] !=NULL AND $_POST['code'] != NULL)
                                {       
                                        include("connexionbdd.php");
                                       
                                        $localisation = htmlentities ($_POST['localisation']);
                                        $poste = htmlentities ($_POST['poste']);
                                        $formats = htmlentities ($_POST['formats']);
                                        $code = htmlentities ($_POST['code']);
                                        $verification = mysql_query("SELECT code FROM etiqindus");
                                        while ( $verif = mysql_fetch_array ($verification) )
                                        if ($verif['code'] == $code)
                                        {
                                                echo '<p class="red">Le code existe déjà l\'étiquette n\'a pas été ajoutée</p>';
                                        }
                                        else
                                        {
                                                mysql_query("INSERT INTO etiqindus VALUES('','".$localisation."', '".$poste."', '".$formats."','".$code."')")
                                        }
                                        echo $poste;
                                        $req = mysql_query("SELECT code_P FROM tposte WHERE Nom_poste = '".$poste."'") /*or die(mysql_error())*/;
                                        $codeposte = mysql_fetch_array($req);
                                        echo '<br/>'.$codeposte['code_P'];
                                        @mkdir('C:/wamp/www/GESETIQ/etiqindus/'.$codeposte['code_P'].'/'.$code.'','0777');           
                                        mysql_close();
                                }
                        }
        ?>           
        </body>
        </html>


        Voila je voudrais que selon le choix de la localisation le choix des postes soit en fonction de la localisation donc à mon avis il faut rajouter un WHERE dans la requete sql et actualiser la page en JS
        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2006 à 10:37:57

          J'ai le même genre de problème. J'ai créé un (pseudo-) site commercial (pour mon BTS) et j'étais sûr de pouvoir le faire exclusivement en xHTML, PHP et une goutte de CSS. Mais voila que mon prof veux que je change quelque chose (je place le décors, mon problème viendra après). Le problème c'est que après avoir cherché toute la nuit moult solutions, tutos, etc... j'ai trouvé... rien. Je suis seulement quasiment sûr d'être obligé d'utiliser le JS et suis dégouté d'avoir passé autant de temps sur tout le reste sauf ça.

          On en vient à mon cas : le site est censé servir à commander des plaques à graver. La page de commande commence donc par une liste déroulante des matières de plaques référencées dans ma BD :

          <tr>
                  <td>Type de plaque
                          <?php
                                 
                                  $BD = new sql(MYSQL_HOST,MYSQL_USER,MYSQL_PASS,MYSQL_DB);
                                  $MaRequeteCree=new CCreeRequete();
                                  $table='materiaux';
                                 
                                  $MaRequete=$MaRequeteCree->RequeteLireBD($table);                                                                                                         
                                 
                                  $Resultat=$BD->EnvoieRequete($MaRequete);              // ,TRUE
                          ?>
                          <select size="1" name="Matiere">
                                  <option value="" selected="selected">Mati&egrave;re</option>
                                  <?php
                                          while ($TabResult = mysql_fetch_array($Resultat))
                                          {
                                  ?>
                                                  <option value="<?php echo $TabResult['NomMateriaux']; ?>"><?php echo $TabResult['TypeMateriaux']; ?> <?php echo $TabResult['NomMateriaux']; ?></option>
                                  <?php   
                                          }
                                  ?>
                          </select>
                  </td>
          </tr>

          suis le même genre de code pour la hauteur, la largeur et l'épaisseur des plaques. Il faudrait en fait qu'au fur et à mesure que le client sélectionne une caractéristique, le choix parmis les autres caractéristiques se restraigne (en concordance avec la BD).

          Ce matin j'ai essayé un truc qui avait l'air de marcher :

          <tr>
                  <td></td>
                  <td>profondeur de gravure (en mm)</td>
                  <td>
                          &nbsp;
                          <input size="3" onload="DonneProf()" name="Profondeur" onchange="RaffraichProf(this.value)" />
                  </td>
          </tr>

          avec çà :

          function RaffraichProf(valeur)
          {
                  this.Profondeur=valeur;
                  alert(this.Profondeur);
                  location.reload();
          }
          function DonneProf()
          {
                  this.Prof=RaffraichProf.Profondeur;
                  return (this.Prof);
          }

          En fait j'en suis arrivé à la conclusion que ce qui semble le plus simple est de raffraichir la page à chaque fois que le client change une caractéristique (tout en ayant enregistré cette nouvelle caractéristique) et, au moment de la création (ou re-création) de la page faire un test sur l'existance de la variable (un genre de isset mais en JS) et sélectionner la bonne valeur dans la liste si la variable existait.

          La première fonction semble marcher puisque ça m'affiche la bonne valeur en alerte. Mais impossible de la retrouver après le refresh.

          Quelqu'un aurait une idée à nous proposer?

          Merci d'avance.
          • Partager sur Facebook
          • Partager sur Twitter
            20 juin 2006 à 22:42:17

            Image utilisateurImage utilisateurImage utilisateur
            Image utilisateurImage utilisateurImage utilisateur
            Image utilisateurImage utilisateurImage utilisateur


            Serieux, y a personne qui aurait une idée :( ? Si vous avez besoin de plus de détails demandez moi.
            Merci d'avance.
            • Partager sur Facebook
            • Partager sur Twitter

            [JS]formulaire

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown