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 :

Ecrire dans un textarea sans afficher les scrollbars


Sujet :

JavaScript

  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut Ecrire dans un textarea sans afficher les scrollbars
    Bonjour,

    J'ai une balise textarea dans l'un de mes pages web.

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div>
    <textarea id="textarea1" rows="5" cols="62"></textarea> c'est la fête
    Le commenaire:
    <p><button type="button" onclick="copy2clipboard(document.getElementById('textarea1'));">Copier</button></p>
    </div>
    Lorsque je saisis du texte, si celui-ci est trop long, cela provoque un scrolling horizontal idem lorsque le texte est trop important, un scrolling vertical s'affiche.

    Je recherche un script en Javascript qui me permettrait de revenir à la ligne et agrandirait le textarea en hauteur le tout automatiquement.

    Est-ce que cela est possible ? Avez-vous éventuellement un exemple, une piste ou autres ?

    Merci d'avance de vos réponse

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    en comptant les rows et la longueur du split \n sur le onkeyup pour faire varier la hauteur ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    en comptant les rows et la longueur du split \n sur le onkeyup pour faire varier la hauteur ?
    Très bonne question mais je ne sais pas

  4. #4
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    J'ajoute mon petit exercice ici, mais il y a des résultats tout à fait exploitable retournés par la recherche.
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
    <head>
       <title>agrandir un textarea</title>
       <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
       <style type="text/css">
       </style>
    </head>
    <body>
       <textarea id="t" cols="10" rows="3"></textarea>
       <script type="text/javascript">
       var Utils = {
       Evenement: {
          ajouter: function(elm, evt, fn) {
             if (document.addEventListener) {
               if (elm.nodeType===1 || elm.nodeType===9) {
                   elm.addEventListener(evt, function(e) {
                      if (!fn(e)) e.preventDefault();
                   }, false);
                } else {
                   for (var i = 0, imax = elm.length; i < imax; i++) {
                      elm[i].addEventListener(evt, function(e) {
                         if (!fn(e)) e.preventDefault();
                      }, false);
                   }
                }
             } else if (document.attachEvent) {
                if (elm.nodeType===1 || elm.nodeType===9) {
                   var r = elm.attachEvent("on" + evt, fn);
                   return r;
                } else {
                   for (var i = 0, imax = elm.length; i < imax; i++) {
                      var r = elm[i].attachEvent("on" + evt, fn);
                      return r;
                   }
                }
             }
          }
       }
       };
       Utils.Evenement.ajouter(document.getElementById("t"), "keyup", function(e) {
          var elm = e.target || event.srcElement;
          var lignes = elm.value.split("\n");
          if (lignes.length==elm.rows-1) {elm.rows += 4;}
          for (var i=0, imax=lignes.length; i<imax; i++) {
             if (lignes[i].length>=elm.cols-2) {elm.cols = lignes[i].length + 10;}
          }
       });
       </script>
    </body>
    </html>

  5. #5
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    J'ai trouvé un exemple de ce que je souhaite réaliser du moins le premier exemple sans le scrollbar

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    un truc tout simple mais qui marche que sous IE!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="test" style="overflow-y: visible;"></textarea>
    overflow-y ou overflow, c'est pareil!

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

Discussions similaires

  1. ecrire dans fichier tesxte sans ecrasé les données
    Par zaki_1982 dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 28/04/2008, 00h41
  2. Réponses: 5
    Dernier message: 22/04/2008, 15h49
  3. [html] Modifier du texte (sans afficher les balises)
    Par Alexino2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/07/2006, 16h43
  4. [VBA-E]Ecrire dans un fichier sans l'ouvrir (ou dans un fichier invisible)
    Par bandit boy dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/05/2006, 17h14
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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