Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire HTML et Javascript ?

Avec Base de données etc...

Sujet résolu
    24 janvier 2009 à 23:24:05

    Bonjour à tous,

    Je cherche à faire un formulaire html avec un menu déroulant, c'est pour une inscription.

    Mais le contenu du menu doit dépendre de champs dans une base de données.
    Si la personne ne trouve pas ce qu'il cherche dans le menu, il doit pouvoir sélectionner "autre" dans le menu déroulant, et là, il faudrait qu'une zone de texte apparaisse pour qu'il note ce qu'il n'a pas trouvé.

    Ensuite, ce qu'il a noté dans cette zone de texte, doit se trouver dans le menu déroulant pour la prochaine personne.

    Savez vous comment réaliser ce code ?

    Plus précisément, je cherche

    - le code pour qu'une zone de texte apparaisse quand on met "autre" dans le menu déroulant.
    - Le code pour que le menu déroulant contienne des champs d'une base de données.

    Merci beaucoup d'avance si vous pouvez m'aider !
    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2009 à 23:27:21

      Citation : Firnac


      - le code pour qu'une zone de texte apparaisse quand on met "autre" dans le menu déroulant.


      Tu mets à l'avance la zone de texte, mais avec un display: none; dessus pour la rendre invisible. Ensuite, tu mets un onChange sur le menu déroulant, qui appelle une fonction. Dans cette fonction, tu vérifies la valeur du menu déroulant (element.value), si c'est "Autre", alors tu enlèves le display: none sur la zone de texte (element.display = '').

      Citation : Firnac


      - Le code pour que le menu déroulant contienne des champs d'une base de données.


      Ce ne serait pas plus simple de générer le menu déroulant en PHP lors du chargement de la page ?
      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2009 à 23:35:37

        Merci beaucoup,

        Citation : Elias

        Ce ne serait pas plus simple de générer le menu déroulant en PHP lors du chargement de la page ?


        Volontiers, mais je n'ai absolument aucune idée du code, pourrais tu m'éclairer ?

        Citation : Elias

        Tu mets à l'avance la zone de texte, mais avec un display: none; dessus pour la rendre invisible. Ensuite, tu mets un onChange sur le menu déroulant, qui appelle une fonction. Dans cette fonction, tu vérifies la valeur du menu déroulant (element.value), si c'est "Autre", alors tu enlèves le display: none sur la zone de texte (element.display = '').



        Donc enfaite c'est une fonction en javascript ? (désolé je connais absolument pas ce langage)

        • Partager sur Facebook
        • Partager sur Twitter
          25 janvier 2009 à 9:17:39

          Pour le php, t recupère les entrés de ta base et tu les stock dans un tableau.
          Ensuite tu fait une boucle for dans ce genre :
          for( $i = 0 ; $i < $nbrdentré ; $i++ ) {
                echo '<option value="'.$tontableau[i].'">'.$tontableau[i].'</option>';
          }
          echo '<option value="autres">Autres ...</option>';
          


          Et pour l'autre fonction tu peut toujours faire en php avec le paramètre action du form.
          Dans ta page tu te connecte à ta BDD et si le champ sélectionné vaut autres tu rentres une nouvelle entré dans ta table selon le champ de texte.
          Puis tu fait ce que tu veux faire avec la sélection ...

          Ou alors si tu veus que lorsqu'il clique sa le rajoute et qu'il puisse le sélectionne sans rechargement de page, une seul solutin js/ajax. A toi de voir.
          • Partager sur Facebook
          • Partager sur Twitter
            25 janvier 2009 à 10:54:16

            Ok, merci beaucoup de votre aide à tout les deux, je vais essayé de faire comme ça !
            • Partager sur Facebook
            • Partager sur Twitter

            Formulaire HTML et Javascript ?

            × 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