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 :

Javascript multiedition de texte et concatenation


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Javascript multiedition de texte et concatenation
    Bonjour,

    J'utilise le code suivant pour afficher du texte en bas de page. Ce texte qui s'affiche est celui que l'utilisateur envoie dans une textarea. Enfin, lorsque l'utilisateur supprime le contenu de la textarea, le texte en bas de page disparait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head>
    <script language="javascript">
    function ecrire(texte) {
    document.getElementById('url').innerHTML="Resultat : "+texte;
    }
    </script>
    </head>
     
    <body>
    <input type="text" size="40" onkeyup="ecrire(this.value)" />
    <br /><div id="url">Resultat : </div>
    </body>
    Voici mon but : faire en sorte que le texte reste en fin de page après écrasement de la saisie par du nouveau texte : BLABLA2 est envoyé dans la textarea et écrase BLABLA1. Or, je souhaite que BLABLA2 écrase le contenu de la zone de texte, MAIS s'ajoute à BLABLA1 copié en bas de page.

    Résultat souhaité : en bas de page : BLABLA1 + BLABLA2 + etc.
    Méthode proposé : je sèche. Je pensais à insérer une balise en bas de page par exemple @@@, et faire que le code écrase uniquement @@@ avec BLABLA 1 ou BLABLA2, de sorte qu'on insère toujours à la suite sans écraser.
    (ou une autre méthode)

    Quelqu'un pourrait il m'aider à faire ça, ce serait formidable !!
    Je ne maîtrise pas javascript.

    et un GROS MERCI !!!!

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function ecrire(texte) {
    document.getElementById('url').innerHTML +="Resultat : "+texte;
    }

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    j'allais proposer la même solution, mais le problème est qu'à chaque touche, tu rajoutes tout le contenu du textarea ! Le truc est de n'ajouter que le dernier caractère

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    MERCI de votre aide !!!

    Alors grace à vous j'ai pu faire le pas suivant. Ca fonctionne, mon code s'ajoute à la suite du précédent.

    Pour optimiser j'ai ajouté un bouton Send. J'aimerais qu'il ait pour fonction de vider la barre de saisie (car manuellement la sélection Ctrl A du contenu réutilise la fonction donc le texte s'écrit x2, x3 dans la zone résultat) et éventuellement faire appel à la fonction de copie, puis effacer le contenu de la zone de saisie.
    Càd en résumé : soit quand je clique sur le bouton, (le contenu a déjà été copié) la barre de saisie se vide.
    Soit quand je clique sur le bouton, le contenu est copié, puis la barre de saisie se vide.

    Voici mon code actuel :

    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
    <html>
    <head>
    <script language="javascript">
    function ecrire(texte) {
    document.getElementById('url').innerHTML+=texte;
    }
    </script>
    </head>
     
    <body>
    <form name="form1" method="post" action="">
      <input name="text" type="text" onKeyUp="ecrire(this.value)" size="40" />
       <input type="submit" name="Submit" value="Envoyer">
    </form>
    Resultat : <br />
    <div id="url"></div>
    </body>
    J'aimerais bien y arriver seul mais je ne suis pas assez expérimenté pour coder une sélection + suppression de la zone. Quelqu'un aurait-il une idée ?

    Encore merci de votre aide !

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Precision
    Alors j'ai un probleme avec ma fonction. OnKeyUp.
    En fait je voudrais procéder par copier coller.
    Mon texte n'est copié que lorsqu'une touche est relachée. En conséquence ce script ne fonctionne plus. Y a t il une fonction qui permette de capter le texte collé (une seule fois), sans qu'une touche soit pressée, ou bien de le capter uniquement lorsqu'on va appuyer sur un bouton Envoyer ?

    Merci de votre aide, je sèche.

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    meilleur solution => détecter la touche entrée
    appel de ta méthode sur un bouton ...

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    meilleur solution => détecter la touche entrée
    appel de ta méthode sur un bouton ...
    C'est exactement ce que j'aimerais faire. Or je ne connais pas de fonction javascript qui permette de faire que l'appui sur un bouton envoie le texte dans la zone cible.

    Alors ces derniers jours, j'ai tenté par plusieurs moyens d'insérer la fonction dans mon bouton, mais ma page disparaissait et je ne suis arrivé à aucun résultat !!!

    Ca me gonfle parce que je suis sûr que ça se joue à un cheveu mais je n'y parviens pas.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <body>
    <! form name="form1" method="post" action="">
      <input name="text" type="text" onKeyDown="ecrire(this.value)" size="40" />
       <! input type="submit" name="Submit" value="Envoyer">
    </form>
    <input name="bidon" type="text" onKeyDown="" />
    Resultat : <br />
    <div id="url"></div>
    </body>
    Aidez-moi svp ! ou au moins orientez moi vers des mots clés où je pourrais trouver la solution car je bloque.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Voici un exemple de ce que j'ai tenté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <body>
    	<input name="text" type="text" size="40" />
    	<input type="button" name="Envoyer" value="Envoyer" onClick="copier();this.form.submit()"> 
    Resultat : <br />
    <div id="url"></div>
    </body>
    J'ai autorisé le controle active x mais malheureusement rien n'apparait lors du clic. Je ne comprends pas, alors je vais continuer de chercher. Si vous avez le coup d'oeil pour détecter d'où vient mon erreur, merci pour tout petit coup de pouce !

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai finalement trouvé ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      <input name="text" type="text" size="40" />
    	<input type="button" name="Envoyer" value="Envoyer" onClick="ecrire(text.value);this.form.submit()">
    Cependant il me reste une dernière étape pour résoudre mon probleme :
    J'ai besoin d'envoyer un saut de ligne après chaque envoi de texte.
    J'ai cherché sur Internet, puis essayé d'insérer <BR>, et "\n" mais sans résultat. Quelqu'un pourrait il me permettre de trouver la solution ?

    Merci !

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Oh non, je viens de voir que la fonction marche sous IE mais pas sous firefox 3 !!!
    Que faire ?
    J'ai cherché à autoriser mais le script est coincé : j'appuie sur Envoyer, ça ne fait rien, pourtant sous IE ça marche parfaitement.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 1
    Points
    1
    Par défaut incompatibilité
    je n'ai toujours pas trouvé de solution. Quelqu'un saurait d'ou vient ce probleme de compatibilité ? y a t il une solution ?

Discussions similaires

  1. Evènement Javascript sur un texte
    Par hat_et_m dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/12/2006, 14h36
  2. rajouter un lien en javascript sur un texte
    Par jfsgeneva dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/11/2006, 15h31
  3. Réponses: 4
    Dernier message: 10/08/2006, 17h26
  4. JavaScript/Zone de texte : n'accepter que les caractères numériques
    Par arkienou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/07/2006, 15h16
  5. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 22h29

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