IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

rendre certains champs de formulaire obligatoire


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de rasleboldesid
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 40
    Points
    40
    Par défaut rendre certains champs de formulaire obligatoire
    Comment faire ? Ci-deesous, le script que j'ai saisi : je n'arrive pas à faire prendre en compte uniquement les champs suivis d'un * (je voulais prendre en compte aussi les boutons radio, mais dans un premier temps, je vais pas me compliquer trop la tâche...). Merci de votre aide !!!

    <script>
    <!--

    function check(frm,elt)
    {
    if (!document.forms[frm].elements[elt].checked)
    {
    alert("Attention : certain champs recquis n'ont pas été remplis !")
    return false;
    }
    else
    {
    return true;
    }
    }
    // -->
    </script>

    <form action="url" method="post" name="formulaire" onsubmit="return check('formulaire','nom','pr&eacute;nom')">
    <p align="center">
    <label>Votre qualité :<br />
    <input type="radio" name="Votre qualit&eacute;" value="Madame" />
    Madame</label>
    <br />
    <label>
    <input type="radio" name="Votre qualit&eacute;" value="Mademoiselle" />
    Mademoiselle</label>
    <br />
    <label>
    <input type="radio" name="Votre qualit&eacute;" value="Monsieur" />
    Monsieur</label>
    <br />
    Nom* : <input name="nom" type="text" size="20" maxlength="30" />
    <br />
    Prénom* : <input name="pr&eacute;nom" type="text" size="20" maxlength="30" />
    <br />
    Adresse : <input name="adresse" type="text" size="40" maxlength="80" />
    <br />
    N° de téléphone : <input name="t&eacute;l&eacute;phone" type="text" size="10" maxlength="20" />
    <br />
    Vos remarques et/ou questions :
    <br />
    <textarea name="remarques" cols="80" rows="10"></textarea>
    <br />
    <br />
    <input name="newsletter" type="checkbox"/> Inscription à la newsletter
    <br />
    <br />
    <input name="effacer" type="reset" value="Effacer" />
    <input name="envoyer" type="submit" value="Envoyer" />
    </form>

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 651
    Points : 11 145
    Points
    11 145

  3. #3
    Membre du Club Avatar de rasleboldesid
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 40
    Points
    40
    Par défaut
    Super ! Merci beaucoup.
    Voici comment je m'en suis sorti, pour ceux que ça peut aider...
    Mon seul soucis est de savoir si ça va marcher si l'internaute "lambda" refuse l'application des script quand IE lui aura posé la question...

    dans "head" :
    <script type="text/javascript" language="Javascript" >
    <!--
    function verification()
    {
    sujetoption = -1
    for (i=0; i<formulaire.newsletter.length; i++)
    {
    if(document.formulaire.newsletter[i].checked){
    sujetoption = i
    }
    }
    if (sujetoption == -1) {
    alert("Veuillez indiquer si vous souhaitez vous abonner à la newsletter du Monde de Ria");
    return false;
    }
    else
    sujetoption = -1
    for (i=0; i<formulaire.votrequalite.length; i++)
    {
    if(document.formulaire.votrequalite[i].checked){
    sujetoption = i
    }
    }
    if (sujetoption == -1) {
    alert("Veuillez choisir votre qualité svp");
    return false;
    }
    else
    if(document.formulaire.nom.value == "") {
    alert("Veuillez entrer votre nom svp");
    document.formulaire.nom.focus();
    return false;
    }
    else
    if(document.formulaire.prenom.value == "") {
    alert("Veuillez entrer votre prénom svp");
    document.formulaire.prenom.focus();
    return false;
    }
    return true
    }
    //-->
    </script>


    Dans "body" :

    <form action="url" method="post" name="formulaire" onSubmit="return verification()">
    <table width="480" border="0" align="center">
    <caption align="top">
    <strong><strong>Formulaire de contact</strong></strong>
    </caption>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap" >Inscription à la newsletter :</td>
    <td width="300" nowrap="nowrap"><input type="radio" name="newsletter" value="oui" />oui<br>
    <input type="radio" name="newsletter" value="non" />non</td>
    </tr>
    <tr>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap">Votre qualité* :</td>
    <td width="300" nowrap="nowrap"><label><input type="radio" name="votrequalite" value="Madame" />
    Madame</label>
    <br>
    <label>
    <input type="radio" name="votrequalite" value="Mademoiselle" />
    Mademoiselle</label>
    <br>
    <label>
    <input type="radio" name="votrequalite" value="Monsieur" />
    Monsieur</label>
    </td>
    </tr>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap">Nom* :</td>
    <td width="300" nowrap="nowrap"><input name="nom" type="text" size="20" maxlength="30" /></td>
    </tr>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap">Prénom* :</td>
    <td width="300" nowrap="nowrap"><input name="prenom" type="text" size="20" maxlength="30" /></td>
    </tr>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap">Adresse :</td>
    <td width="300" nowrap="nowrap"><input name="adresse" type="text" size="40" maxlength="80" /></td>
    </tr>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap">N° de téléphone :</td>
    <td width="300" nowrap="nowrap"><input name="telephone" type="text" size="10" maxlength="20" /></td>
    </tr>
    <tr>
    <td width="180" valign="middle" nowrap="nowrap">Votre message :</td>
    <td width="300" nowrap="nowrap"><textarea name="remarques" cols="80" rows="10"></textarea></td>
    </tr>
    <td width="180" align="right" valign="middle" nowrap="nowrap"><input name="effacer" type="reset" value="Effacer" /></td>
    <td width="300" nowrap="nowrap"><input name="envoyer" type="submit" value="Envoyer" /></td>
    </tr>
    </table>
    </form>

Discussions similaires

  1. Rendre un champ de formulaire obligatoire XML
    Par jedouille dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 18/10/2013, 15h14
  2. Réponses: 6
    Dernier message: 04/04/2011, 16h07
  3. Réponses: 4
    Dernier message: 10/08/2010, 23h40
  4. [MySQL] Champs de formulaire obligatoire
    Par Budy123 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/02/2010, 11h57
  5. Afficher certains champ de formulaire
    Par Daniel MOREAU dans le forum IHM
    Réponses: 1
    Dernier message: 07/05/2007, 23h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo