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 :

[debutant] Remplir un champs text à partir de liens


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [debutant] Remplir un champs text à partir de liens
    Bonjour,

    J'ai beau chercher je ne trouve pas de piste pour mon problème que voici :

    J'ai plusieurs liens dans ma page tels que "lien1" "lien2" "lien3" et j'aimerai que lorsqu'on clique sur ces liens html (<a href>) ça remplisse un champs de formulaire placé plus bas (<input type=text>) sans recharger la page.
    Il faudrait que ça cumule par exemple si je clique à la suite sur : "lien3" et "lien1" ça me mette "lien3 lien1" en value de mon input text du formulaire et ainsi de suite...

    Voila ça ne doit pas être trop compliqué mais après plusieurs heures de recherche et ecumage de google je seche

    Merci d'avance.
    C.

  2. #2
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Salut et bienvenue sur Developpez

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <a href="cool.php" onClick="add('lien1')" >Lien 1 </a>
    <input type="text" name="intext" value="" />
     
    <script>
    function add(text) {
     intext.value += text ; // ajouter à la suite de l'existant
    }
    </script>
    Je ne suis pas spécialiste du JS donc j'espère qu'il n'y a pas d'erreurs.

    Nas'

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ta réponse rapide ça me met pas mal sur la voie
    Par contre impossible de faire marcher le script, j'en suis là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script>
    function add(text) {
     intext.value += text ; // ajouter à la suite de l'existant
    }
    </script>
    <a href=# onClick="add('lien1')" />hop</a> <a href=# onClick="add('lien2')" />hop2</a>
    <form>
    <input type="text" name="intext" value="" />
    </form>
    Si tu as une idée ou quelqu'un ...en attendant je continue de tourner le code dans tous les sens .. avec de la chance .. )

    En tout cas merci encore Nas c'est vraiment agréable de trouver de l'aide si rapidement !

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ah ben ayé j'ai trouvé Il fallait mettre un id=intext dans le tag <input type=text>

    Super !!! MERCI !

    Je colle le code au cas où ça puisse servir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function add(text) {
     intext.value += text ; // ajouter à la suite de l'existant
    }
    </script>
    <a href=# onClick="javascript:add('lien1')" />hop</a> <a href=# onClick="javascript:add('lien2')" />hop2</a>
    <form>
    <input type="text" name="intext" id="intext" value="" />
    </form>

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Hello
    Finalement ça ne marchait que sous Firefox, pour que ça passe sous FF et IE voici les modifications

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <a href=# onClick="javascript:add('lien1')" />hop</a> <a href=# onClick="javascript:add('lien2')" />hop2</a>
    <form>
    <input type="text" id="intext" name="intext" value="" />
    </form><script language="javascript" type="text/javascript">
    function add(text) {
    document.getElementById("intext").value += text; // ajouter à la suite de l'existant
    }
    </script>
    Ahlala

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bon, j'ai essayé toute la journée d'intégrer le code ci-dessus pour l'une de mes applis, mais j'avoue que je sèche ...
    Gros débutant dans le JS j'espère que quelqu'un aura la bonté de me donner une réponse, ou une piste d'investigation.

    => j'ai un champ texte que je veux remplir en fonction d'une liste générée grâce à un bout de php dans le code (toute la partie en italique est générée par du PHP et le problème n'est pas là, dans le sens où avec ce même bout de code si le lien dans la section en gras est en dehors du DIV pouvant être caché à ça fonctionne quand même ...

    seulement cette liste n'apparait que lorsque l'on clique sur le champ en question ..,

    Mon problème c'est que ça marche si les liens sont en dehors du DIV qui peut être caché, et ça ne marche pas si les liens sont dans le DIV qui peut être caché ..

    voila le code tel que je l'ai adapté à mes besoins :


    D'abord le CSS dont j'ai besoin :
    Code X : 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
    <style>
    .clicTitre
      {
      border-color: #000000;
      border-top: 1px solid;
      border-left: 1px solid;
      border-right: 1px solid;
      border-bottom: 2px dashed;
      background-color: #eeeeee;
      }
    
    .clicCacher
      {
      top: -20px;
      position: relative;
      text-align:right;
      }
    
    .contenant
      {
      width: 10%;
      display : none;
      border: 1px solid #000000;
      }
    </style>

    Les trois fonctions JS dont j'ai besoin :
    Code X : 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
    36
    37
    38
    39
    40
    41
    42
    <script>
    function afficheId(baliseId)
      {
      if (document.getElementById && document.getElementById(baliseId) != null)
        {
        document.getElementById(baliseId).style.visibility='visible';
        document.getElementById(baliseId).style.display='block';
        }
      }
    
    function cacheId(baliseId)
      {
      if (document.getElementById && document.getElementById(baliseId) != null)
        {
        document.getElementById(baliseId).style.visibility='hidden';
        document.getElementById(baliseId).style.display='none';
        }
      }
    
    cacheId('contenu');
    // si JavaScript est disponible, cache le contenu dès le
    // chargement de la page. Sans JavaScript, le contenu sera
    // affiché.
    </script>
    
    <script type="text/javascript">
    <!--
    var users=new Array();
    users[0] = new Array();
    users[0]["userlog"] = "administrateur";
    users[0]["userid"] = "1";
    users[1] = new Array();
    users[1]["userlog"] = "shwems";
    users[1]["userid"] = "2";
    </script>
    
    <script language="javascript" type="text/javascript">
    function fill(champs,valeur)
    {
    	document.getElementById(champs).value = valeur;
    }
    </script>

    Mon code Web :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="clicTitre">
    	<input type="text" id="test" OnFocus="afficheId('contenu')" OnBlur="cacheId('contenu')"/>
    </div>
    <div class="contenant" id="contenu">
    	
    	<script type="text/javascript">
    	for (var i=0;i<<? echo $nbuser; ?>;i++)
    	{
    		document.write("<a href=\"javascript:fill('test','"+users[i]["userlog"]+"')\">"+users[i]["userlog"]+"</a><br/>");
    	}
    	</script>
    </div>

    Mon problème c'est que les liens générés en gras fonctionnent et remplissent bien le champ test avec la bonne valeur s'ils ne sont pas dans le DIV que je cache quand on est pas sur le input text ayant l'id 'test' mais ne remplisse pas leur rôle s'ils sont dans le div qui est caché ..
    J'imagine que tous cela n'est qu'un problème de syntaxe, peut être dois-je ajouter quelques chose dans le document.write ... mais je ne vois pas, merci d'avance pour le coup de main.

    Shwems

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/02/2012, 00h03
  2. Remplir un champ texte via un lien
    Par Davesique dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2011, 20h43
  3. Désactiver un champ texte à partir d'un liste déroulante
    Par illegalsene dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2006, 14h40
  4. [debutant] onClick et champ texte
    Par pierre50 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/05/2006, 10h02
  5. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04

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