Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les formulaires

[JavaScript]

Sujet résolu
    31 octobre 2006 à 17:25:00

    Bonjour à tous, j'essaie de faire un formulaire dynamique.

    Mise en situation
    ** Tant que l'utilisateur n'a pas rempli tous les champs de mon formulaire, il ne peut appuyez sur le bouton Envoyer **

    Voici le code source :
    HEAD
    function ChangeStatut(Formulaire, Nom)
    {
            if (Formulaire.Nom.value != '')
            {              
                    Formulaire.Validation.disabled = false;
            }       
            else
            {
                    Formulaire.Validation.disabled = true;
            }
    }


    BODY
    <form action="" method="post">
            <fieldset>
                    <legend>Informations sur le message</legend>
                    <p>
                            <label>
                                            Destinataire :
                                            <select name="destinataire">
                                                    <optgroup label="Administration">
                                                            <option value="titiyo3@hotmail.fr">Titiyo</option>
                                                            <option value="bilatec@hotmail.com">D!ablo</option>
                                                            <option value="graph-max@hotmail.com">MaX</option>
                                                    </optgroup>
                                                    <optgroup label="Manager">
                                                            <option value="jimmyleoespagnol@hotmail.com">Sangoku</option>
                                                            <option value="sniperask@gmail.com">FireHunter</option>        
                                                    </optgroup>
                                                    <optgroup label="Modération">
                                                            <option value="lineace00@hotmail.com">Lanks</option>
                                                            <option value="">Kaly</option>
                                                            <option value="grey.flag@gmail.com">Kirua</option>
                                                            <option value="">molikera</option>
                                                    </optgroup>
                                                    <optgroup label="Développement">
                                                            <option value="">Aboubak</option>
                                                            <option value="theanthostyle@hotmail.it">Anthony</option>
                                                            <option value="maxzelda@gmail.com">MaxZelda</option>
                                                    </optgroup>
                                                    <optgroup label="Design">
                                                            <option value="">Paulo622</option>
                                                            <option value="">waverideur</option>
                                                            <option value="">Mam\'s</option>
                                                            <option value="Dupsk8@hotmail.com">Jiraya Sama</option>
                                                            <option value="">Raph</option>
                                                            <option value="noe_geste@hotmail.fr">Noé</option>
                                                    </optgroup>
                                                    <optgroup label="Formation">
                                                            <option value="">Aurum</option>
                                                    </optgroup>
                                            </select>
                            </label>
                    </p>
                                   
                    <p>
                            <label>
                                    Votre e-mail : <input type="text" name="mail" value="" onkeyup="ChangeStatut(this.form)" />
                            </label>
                    </p>
                           
                    <p>
                            <label>
                                    Sujet du message : <input type="text" name="sujet" value="" onkeyup="ChangeStatut(this.form)" />
                            </label>
                    </p>           
            </fieldset>

            <fieldset>
                    <legend>Message</legend>
                    <p>
                            <label>
                                    <textarea name="message" rows="7" cols="34" onkeyup="ChangeStatut(this.form)"></textarea>
                            </label>
                    </p>
            </fieldset>
                   
            <p class="Alignement_Centre">
                    <input type="submit" name="Validation" class="Bouton_Formulaire" value="Envoyer le message" disabled="disabled" />
            </p>
    </form>


    Problème
    Le problème c'est que je veux que le script soit universel a tous les formulaires, mais seule la variable Formulaire fonctionne!! Comment faire pour que Nom fonctionne aussi.

    Mercri pour votre aide!!
    • Partager sur Facebook
    • Partager sur Twitter
      1 novembre 2006 à 12:52:36

      UP!! Aidez-moi, s'il vous plaît...
      • Partager sur Facebook
      • Partager sur Twitter
        1 novembre 2006 à 13:21:43

        Explique mieux j'ai du mal à saisir en tout cas es-tu sur de ton code car rien que dans le HTML soit tu met des nom a chaque input et select soit un ID ou les deux. Car la javascript ne c'est pas quoi va avec quoi! o_O
        Et évite d'utiliser du javascript car il peut etre inutilisable à certain moment.. du genre si la personne l'a désactivé..


        • Partager sur Facebook
        • Partager sur Twitter
        :)
          2 novembre 2006 à 2:08:13

          En fait, si vous pouviez m'aider en général!! Parce que voyez-vous je suis nul en JavaScript...

          EDIT : J'ai trouver ce topic en farfouillant sur le forum et c'est pile ce que je veux faire...

          Citation : pongping


          function checkFormulaire(form)
          {
            for (var i = 0; i < form.elements.length; i++)
            {
                if (form.elements[i].value == "")
                {
                    alert("Veuillez remplir tous les champs svp!");
                    return false;
                }
            }
            return true;
          }


          Mais dans sa solution, il ne dis pas comment arranger la page XHTML... Si vous pouviez me répondre la-dessus

          Merci
          • Partager sur Facebook
          • Partager sur Twitter
            2 novembre 2006 à 23:37:40

            UP!! Aidez-moi, s'il vous plaît...
            • Partager sur Facebook
            • Partager sur Twitter
              3 novembre 2006 à 22:10:51

              SVP, aidez-moi.. Dites-moi ce qu'il vous manque pour vous aider à mieux m'aider?

              Merci de bien vouloir m'aider
              • Partager sur Facebook
              • Partager sur Twitter
                3 novembre 2006 à 22:57:53

                Ce genre de fonction s'utilise pour vérifier que tout les champs sont remplis quand l'utilisateur clique sur "envoyer" (ça ressemble pas à ce que tu voulais faire à la base donc je te préviens :o).

                Pour l'utiliser, tu dois utiliser l'attribut onsubmit de la balise form:

                <form action="" method="post" onsubmit="return checkFormulaire(this);">

                checkFormulaire attend de recevoir un formulaire à vérifier, ici ça correspond à la balise form elle même donc on peut utiliser this.

                Si tout est ok, checkFormulaire renvoi true, donc onsubmit renvoit true donc le formulaire est envoyé. Si checkFormulaire renvoit false, onsubmit renvoit false à son tour, et ça anule l'envoi du formulaire.
                • Partager sur Facebook
                • Partager sur Twitter
                  4 novembre 2006 à 4:03:21

                  Ok, et oui, c'est ce que je veux!! :D

                  Problème résolu, ^^
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Les formulaires

                  × 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