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 :

TEXTAREA comportement différent


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de daronmaster
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 67
    Par défaut TEXTAREA comportement différent
    Bonjour,

    voici un bout de code html et JavaScript qui me permet lors d'une sélection dans un TEXTAREA d'afficher la sélection. Cependant dans mon exemple, cela ne marche que si la balise TEXTAREA est dans une balise P. Et meme pire après une selection dans le premier TEXTAREA, le resultat est erroné correspondant à la sélection du second s'il y en avait eu une auparavant. Pourriez vous me dire où est le problème ????

    merci

    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
     
    <html>
        <head>
        </head>
     
        <body>
     
    <textarea cols="50">
    1111111 blablabli sdnsdlqskdqlskd fdjfjf fd d d ddpddlmd 
    djnsdlkcnds dcdcsdcsdc  csdcsdcsùdcsùù   csdc sdcs
     
    </textarea><br/><br/>
     
    <p>
    <textarea cols="50">
    22222222 blablabli sdnsdlqskdqlskd fdjfjf fd d d ddpddlmd 
    djnsdlkcnds dcdcsdcsdc  csdcsdcsùdcsùù   csdc sdcs
     
    </textarea>
    <br/><br/><br/><br/><br/>
    </p>
     
    <script language="JavaScript" type="text/JavaScript">
     
    window.onload = function(){
     
    	var el = document.getElementsByTagName('textarea');
     
    	for(var i=0; i < el.length ; i++){
     
    		var elt = el[i];
     
    		elt.onmouseup = function(){
     
    					window.alert(elt.value.substring(elt.selectionStart, elt.selectionEnd));
    				}
     
    	}
    }
    </script>
    </body>
    </html>
    NB: je suis sous firefox

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    un petit coup d'œil là dessus

    http://www.webreference.com/js/colum...ssbrowser.html

    sinon j'ai trouvé ça mais pas testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function getSel(){
    var w=window,d=document,gS='getSelection';
    return (''+(w[gS]?w[gS]():d[gS]?d[gS]():d.selection.createRange().text)).replace(/(^\s+|\s+$)/g,'');
    }
    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 confirmé Avatar de daronmaster
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 67
    Par défaut
    Bonjour,

    j'ai regardé ce que tu viens de me donner comme information et le problème c'est que ces différents code ne marche pas par une balise TEXTAREA. Pour touttexte contenu dans une balise autre que TEXTAREA ça marche et tant mieux pour celles-ci mais cela ne correspond pas à ma recherche.

    La sélection étant faite dans un textarea ...., la seule solution que j'ai trouvé est celle avec "selctionStart" et "selectionEnd", et le problème c'est que ça ne marche que si le TEXTAREA est dans une balise P et je cherche à savoir pourquoi.

    Merci

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Je me plante peut être mais pourquoi tu fais sa avec window.onload ?

    il serait pas plus simple de le faire comme sa: ?

    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
     
    <html>
        <head>
    <script language="JavaScript" type="text/JavaScript">
     
    Ta_function(){
     
    	var el = document.getElementsByTagName('textarea');
     
    	for(var i=0; i < el.length ; i++){
     
    		var elt = el[i];
     
    		elt.onmouseup = function(){
     
    					window.alert(elt.value.substring(elt.selectionStart, elt.selectionEnd));
    				}
     
    	}
    }
    </script>
        </head>
     
        <body>
     
    <textarea cols="50" onMouseUp="javascript:Ta_function();">
    1111111 blablabli sdnsdlqskdqlskd fdjfjf fd d d ddpddlmd 
    djnsdlkcnds dcdcsdcsdc  csdcsdcsùdcsùù   csdc sdcs
     
    </textarea><br/><br/>
     
    <p>
    <textarea cols="50" onMouseUp="javascript:Ta_function();">
    22222222 blablabli sdnsdlqskdqlskd fdjfjf fd d d ddpddlmd 
    djnsdlkcnds dcdcsdcsdc  csdcsdcsùdcsùù   csdc sdcs
     
    </textarea>
    <br/><br/><br/><br/><br/>
    </p>
     
     
    </body>
    </html>
    Je me plante peut être sérieusement car je l'ai pas testé mais je pense que j'aurais essayé comme sa

  5. #5
    Membre confirmé Avatar de daronmaster
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 67
    Par défaut
    bonne idée mais ne marche pas

    et en relisant le code me parrait incohérent

    non ???

    tu reparcours tout les textarea et change leur attribut onmouseup ....

    mais j'ai testé comme ça :
    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
     
     
    <html>
        <head>
    <script language="JavaScript" type="text/JavaScript">
     
    Ta_function(){
     
     
     
    	window.alert(elt.value.substring(elt.selectionStart, elt.selectionEnd));
     
    }
    </script>
        </head>
     
        <body>
     
    <textarea cols="50" onmouseup="javascript:Ta_function();">
    1111111 blablabli sdnsdlqskdqlskd fdjfjf fd d d ddpddlmd 
    djnsdlkcnds dcdcsdcsdc  csdcsdcsùdcsùù   csdc sdcs
     
    </textarea><br/><br/>
     
    <p>
    <textarea cols="50" onmouseup="javascript:Ta_function();">
    22222222 blablabli sdnsdlqskdqlskd fdjfjf fd d d ddpddlmd 
    djnsdlkcnds dcdcsdcsdc  csdcsdcsùdcsùù   csdc sdcs
     
    </textarea>
    <br/><br/><br/><br/><br/>
    </p>
     
     
    </body>
    </html>
    et ça ne marche pas du tout

  6. #6
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Comme dit je l'ai pas testé mais il me paraissais plus logique d'appeler ta fonction a partir du textfield concerné.

    C'est tout

  7. #7
    Membre confirmé Avatar de daronmaster
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 67
    Par défaut
    j'ai changé le onmouseup en onselect pour ne pas réagir dès qu'un clic est effectué dans le textarea pour avoir plus de cohérence mais ça ne marche toujours pas ...

    je ne sais plus quoi faire ...

    j'implore votre aide à vous programmeur fou

  8. #8
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    dasn le code donné la selection se fait sur
    avec d defini comme document...

    suffit de definir d comme ton textArea non ?
    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 !

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

Discussions similaires

  1. [CKEditor] Comportement différent en ligne
    Par guy2004 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 14/12/2005, 16h11
  2. Comportement différent entre un bouton et une image
    Par MicheMTP13 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/11/2005, 08h47
  3. Comportement différent des listes [] et des tuples () ??
    Par JujuKéblo dans le forum Général Python
    Réponses: 2
    Dernier message: 12/10/2005, 09h08
  4. [C#] bouton avec 2 comportements différents ?
    Par st0j dans le forum ASP.NET
    Réponses: 8
    Dernier message: 31/05/2005, 09h50
  5. Réponses: 3
    Dernier message: 16/03/2005, 11h31

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