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 :

Appliquer regexp en fonction de choix de liste


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 181
    Par défaut Appliquer regexp en fonction de choix de liste
    voila pour un formulaire, je dois faire une liste déroulante qui permet de choisir son pays :

    - si il choisi France dans la liste, la saisie du num. de telephone sera forcée par une expres. reguliere pour saisir forcement de cette facon la : XX XX XX XX XX (chiffres separes oas espace)
    - si il choisi un autre pays, alors la saisie du num. de telephone est libre, il peut renseigner ce qu'il veut.

    j'ai commencé un code pour les express. regulieres mais je ne vois pas trop comment m'y prendre apres pour modifier dynamiquement le champs telephone comme je le souhaite.

    voila la liste déroulante du pays :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="attribute37" class="attributeinput"><option value="2" >Andorre<option value="3" >Espagne<option value="1" >France</select>

    et voila pour la textarea du numero de telephone :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function chiffres(event) {
        reg = new RegExp(/[0-9]{2}[.][0-9]{2}[.][0-9]{2}[.][0-9]{2}[.][0-9]{2}/);
        if (!reg.test(attribute21.value)){
      		//un traitement quelconque 
       	}else{
                   alert('Veuillez saisir le téléphone sous format XX.XX.XX.XX.XX');
    	  attribute21.value = "";	
               }
    }
    </script> 
    <input type=text name="attribute21"  class="attributeinput" onkeypress="chiffres(event)" size="40"  maxLength="20" value="">
    Mais deja je ne sais pourquoi, mes restrictions de l'expression reguliere ne fonctionne pas, le code me semble correct pourtant..
    Voila sauriez vous ce qui ne va pas, et auriez vous une idée pour appliquer l'expression reguliere seulement si on choisi France dans la liste, sans rafraichir la page.
    Merci d'avance de votre aide.

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (select.options[s.selectedIndex].value="xxx") {
    } else {
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 181
    Par défaut
    bjour fremy, hum desolé mais je n'ai pas tres bien compris ton code, c'est ce qui permet d'appliquer l'expression reguliere seulement si on choisi France dans la liste ? ca donnerait koi avec mon exemple en fait ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 181
    Par défaut
    RE,

    bon j'ai testé differentes soluces mais sans succes. Pourriez vous me dire si la procedure est correcte, et ce qu il faut modif niveau syntaxe ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     Dans quel pays habitez vous ?
      </td>
      <select name="attribute37"  ><option value="france" >france<option value="belgique" >belgique<option value="suisse" >suisse</select>
    <script>
     
    if (select.options[s.selectedIndex].value="france") {
     
    //function qui force a saisir des chiffres, mais bugé sous FF
    function chiffres(event) {
        reg = new RegExp(/[0-9]{2}[.][0-9]{2}[.][0-9]{2}[.][0-9]{2}[.][0-9]{2}/);
        if (!reg.test(attribute21.value)){
      		//un traitement quelconque 
       	}else{
                   alert('Veuillez saisir le téléphone sous format XX.XX.XX.XX.XX');
    	  attribute21.value = "";	
               }
     
    <input type=text name="attribute21"   size="40"  onKeyPress="chiffres(event)" maxLength="20" value="">
     
    }
     
    } else {
     
    <input type=text name="attribute21"   size="40"   maxLength="20" value="">
    }
     
     
     </script>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 181
    Par défaut
    Fremy pourrais tu un peu detailler ton code please ? enfin ou faudrait t'il le placer par rapport au code que j'ai et ce qu'il y'aurait a modifer dedans.. merci d avance.

  6. #6
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function ValidatePhone(input,span) {
        if (doitVerrifier) {
            if (ok) {
                span.innerHTML="Numero de telephone <b>valide</b> !"
                return true;
            } else {
                span.innerHTML="Numero de telephone <b>invalide</b> !"
                input.focus()
                retrun false;
            }
        } else {
           span.innerHTML="<b>Aucune validation</b> ne s'applique pour votre pays";
           return true;
        }
    }

Discussions similaires

  1. [XL-2003] Auto population de cellule en fonction de choix de liste déroulante
    Par benharperr dans le forum Excel
    Réponses: 2
    Dernier message: 24/06/2010, 06h37
  2. Images en fonction de choix dans listes déroulantes
    Par FCL31 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/03/2010, 17h27
  3. Images en fonction de choix dans liste déroulantes
    Par FCL31 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2010, 16h08
  4. Réponses: 1
    Dernier message: 21/08/2008, 11h35

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