Rechercher : dans
Par :

Javascript - Taille d'une sélection

Dernière réponse le 10 jui 2009 à 17:05:43 Fillule, le 8 jui 2009 à 19:05:51 
 Signaler ce message aux modérateurs

Bonjour,

Pour commencer, voici une partie de mon code qui me permet d'obtenir du texte sélectionné dans une page :
selection = document.getSelection();
range = selection.getRangeAt(0);
var offset = range.startOffset;
var container = range.startContainer;

Le problème c'est que je n'arrive pas à calculer la longueur du texte sélectionné !
Y a t-il une fonction qui existe pour ça ? (j'invente, mais du genre rangeSize(), selectionSize() ?)
Sinon quelle est la méthode à suivre pour l'obtenir ?

Je vous remercie d'avance !

Configuration: Windows XP
Firefox 3.0.11

Meilleures réponses pour « Javascript Taille d'une sélection » dans :
Javascript - Connaître la hauteur d'un élément HTML VoirSi vous souhaitez connaître la hauteur (height) d'un bloc HTML en javascript, il existe deux façons selon les navigateurs : element.offsetHeight element.style.pixelHeight Ainsi, le code suivant permet d'obtenir la hauteur d'un bloc HTML...
Diminuer la taille d'une image VoirSi vous trouvez que vos photos sont trop grosses ou trop lourdes (par exemple pour envoyer par mail ou pour publier sur une page web), voici 4 étapes pour diminuer la taille des fichiers: Étape 1 (optionnel !) : Passer GREYCStoration sur...
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

jjsteing, le 8 jui 2009 à 22:46:45

TailleSelection = len (selection)

Répondre à jjsteing

2

Fillule, le 9 jui 2009 à 09:08:01

Euh non ça ne marche pas du tout
j'ai également essayé avec taille = len(selection.text)
est ce que ça peut venir de mon navigateur ?

Répondre à Fillule

3

jjsteing, le 9 jui 2009 à 14:17:27

Et selection.lenght ??

Répondre à jjsteing

4

Fillule, le 9 jui 2009 à 19:23:32

Undefined aussi !
je vais continuer mes recherches sur google, je finirai bien par trouver ! je posterai ici quand je trouverai :)
merci !

Répondre à Fillule

5

kij_82, le 10 jui 2009 à 13:57:59

Bonjour,

Si je puis me permettre, tu obtiens "undefined" parce que ta variable 'selection' n'est pas ce que tu crois être.
1- Qu'est ce que c'est que ton 'document.getSelection()' ? C'est sensé te retourner quoi exactement ? Une valeur, un object de type 'text' ?

Ton problème vient donc plus de la première ligne :

selection = document.getSelection();


Essai plutôt un truc du genre sélection par identifiant.
Par exemple si tu as déclaré ton champ 'selection' de la manière suivante :
<input type='text' id='selection' value=''/>


Alors :

var selectObj = document.getElementById('selection');
if ( selectObj != null ){
   var selection = selectObj.value;
   alert('Longueur du champ = '+selection.length);
}


~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :)    ~

Répondre à kij_82

6

jjsteing, le 10 jui 2009 à 16:46:48

Kij_82, la ca te donne le nb de caractere total dans ton champs texte, or, je pense qu il voudrais savoir conbien de caracteres de ce champ texte sont sélectionnés.. d où, je suppose, le range()...

Autant je suis d accord avec toi sur le code pour le champ entier, mais j avoue que je peche concernantt la selection...

Répondre à jjsteing

7

kij_82, le 10 jui 2009 à 16:57:46

Ha effectivement j'ai lu trop vite et mal compris le problème ^^

Mum... faut réfléchir mais là j'avoue que je pars en vacances, bon courage ^^

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :)    ~

Répondre à kij_82

8

 jjsteing, le 10 jui 2009 à 17:05:43

Je pense que ca peut t aider :)

http://forum.alsacreations.com/...

Répondre à jjsteing