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 :

Passage d'une variable d'une fonction a une autre


Sujet :

JavaScript

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

    Informations forums :
    Inscription : Août 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut Passage d'une variable d'une fonction a une autre
    Bonjour a tous!


    Je vais essayé de m'expliquer clairement.

    J'ai 2 formulaires de ce genre:

    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
    <body onload="inputJsActive('newDiscussion');submitButton('newDiscussion');
    inputJsActive('newAnswer');submitButton('newAnswer');
    								">
    		<h1>Bienvenue sur le forum</h1>
    		<br />
    		<form action="#" method="post" class="formulaire" >
    			<fieldset id="newDiscussion">
          <legend>Créer une nouvelle liste de discussion</legend>
    			<p>
    			<label for="nicknameNewDiscussion">Votre login :</label>
    			<input type="text" name="nickname" value="<?php echo $nicknameCookie ?>" id="nicknameNewDiscussion" />
    			</p>
    			<p>
    			<label for="emailNewDiscussion">Votre email :</label>
    			<input type="text" name="email" value="<?php echo $emailCookie ?>" id="emailNewDiscussion" />
    			</p>
    			<p>
    			<label for="contentNewDiscussion" class="textarea">Votre message :</label>
    			<textarea name="content" rows="10" id="contentNewDiscussion" ></textarea>
    			</p>
    			<input type="hidden" name="parent" value="0" />
    			<noscript>
    				<input type="submit" value="Créer un nouveau message" />
    			</noscript>
    			</fieldset>
    		</form>

    j'ai donc 2 id, dans celui ci c'est id="newDiscussion" , dans l'autre c'est id="newAnswer".

    Je veux ajouter un bouton <input type="button" value="envoyer" onclick="testChampsEtSubmit()"> à ces 2 formulaires où la fonction testChampsEtSubmit() doit tester avec des regex l'email et le nickname.

    j'ai donc dans mon fichier js, le filtre :

    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
    29
    30
    31
    32
    33
    34
    35
     
    testChampsEtSubmit(num,form) 
    	{
            var test=true;
    	var formulaire= 'document.';
    	formulaire += form;
            with(document.form) 
    		{
    		// vérification du champ message
                    if(message.value=="") 
    			{
                             alert("Tapez d'abord votre message !");
                             message.focus();
                             test=false;
                             }
                    // vérification du champ email
                    var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
                    if(reg.exec(email.value)==null) 
    			{
                            alert("Votre email est invalide !");
                            email.focus();
                            test=false;
                            }
                    // vérification du champ login
                    reg = /^[A-Za-z0-9_-]{3,}$/
                    if(reg.exec(login.value)==null) 
    			{
                            alert("Votre login est invalide !");
                            login.focus();
                            test=false;
                            }
                    reponse.value=num;
                    if(test) submit();
                    }
           }
    Et la fonction de création du bouton sur laquelle j'ai le probleme en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function submitButton(form)
    	{
    	var formulaire = document.getElementById(form);
    	var nouvelInput = document.createElement("input");
    	nouvelInput.setAttribute("type", "button");
    	nouvelInput.setAttribute("value", "Envoyez");
    	// Le probleme est là :
    	nouvelInput.setAttribute("onclick", "testChampsEtSubmit(0,form)"); 
    	formulaire.appendChild(nouvelInput);
    	}
    Mon probleme est que quand je vais appeler la fonction submitButton('newDiscussion'), cette derniere va créer un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Envoyer" onclick="testChampsEtSubmit(0,form)>
    qui evidement ne filtrera rien comme y'a pas de id="form".

    Ce que moi j'aimerais c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Envoyer" onclick="testChampsEtSubmit(0,'newDiscussion')>
    Voila j'espere que vous m'aurez compris

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Le probleme est là :
    nouvelInput.setAttribute("onclick", "testChampsEtSubmit(0,form)");
    et avec ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nouvelInput.setAttribute("onclick", "testChampsEtSubmit(0,'" + form +"')");

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

    Informations forums :
    Inscription : Août 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Ca marche merci!!

    j'ai tenté la concatenation mais avec .. le POINT!
    forcement ca marchait pas ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre une variable dans l'appel d'une variable de session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2011, 10h12
  2. Réponses: 2
    Dernier message: 24/09/2010, 20h28
  3. Réponses: 9
    Dernier message: 05/11/2008, 09h37
  4. Réponses: 1
    Dernier message: 17/01/2007, 21h52
  5. Réponses: 7
    Dernier message: 13/03/2006, 15h39

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