CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Javascript - texte sélectionné

trunks_the_boss
trunks_the_boss
Niveau 9
14 septembre 2007 à 20:00:42

Bonjour.

Je voudrais savoir dans quelle variable javascript est stocké le texte sélectionné dans un textarea.

Merci.

LeLion-67
LeLion-67
Niveau 10
14 septembre 2007 à 20:21:49

document.ID_DU_AREA.value :)

trunks_the_boss
trunks_the_boss
Niveau 9
14 septembre 2007 à 20:29:53

enfin j´ai pas essayé mais normalement ça me met tout le contenu du textarea non ?

darth-bane
darth-bane
Niveau 10
14 septembre 2007 à 20:34:52

Un petit split dans un tableau et tu as toutes les lignes du Textarea :ok:

trunks_the_boss
trunks_the_boss
Niveau 9
14 septembre 2007 à 20:39:31

Je vais essayer d´être clair :)
Je voudrais stocker le texte sélectionné par l´utilisateur (s´il a sélectionné du texte bien sur) d´un textarea dans une variable.

deepblue
deepblue
Niveau 16
14 septembre 2007 à 22:51:38

"document.ID_DU_AREA.value :)"
presque. document.getElementById(id-du-area).value;

Trunks_the_boss > tu parles par exemple d´un morceau de texte sélectionné dans un textarea ?
Si oui, analyse ça :
http://www.series-sources.com/javascript/bbcode.js

"var theSelection = document.selection.createRange().text;"
"var replaced = false;
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd;"

darth-bane
darth-bane
Niveau 10
15 septembre 2007 à 02:00:43

j´ai travaillé la-dessus il y a 1 an. Je n´ai jamais réussi à le faire pour que ça fonctionne avec les 3 principaux navigateurs que sont IE, FF et Opera. Il y avait toujours une méthode qui fonctionnait avec l´un et pas avec un autre.

trunks_the_boss
trunks_the_boss
Niveau 9
15 septembre 2007 à 10:40:19

Merci à vous.

LeLion-67
LeLion-67
Niveau 10
15 septembre 2007 à 10:53:23

presque. document.getElementById(id-du-area).value;

--> Ca va de sois !
Ou encore getElementByName()

trunks_the_boss
trunks_the_boss
Niveau 9
15 septembre 2007 à 11:38:21

Mais j´ai un problème maintenant, avec IE (la daube) ce code ne fonctionne pas :
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + debutCode + insText + finCode + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + debutCode.length;
}
else
{
pos = start + debutCode.length + insText.length + finCode.length;
} input.selectionStart = pos; input.selectionEnd = pos;

Ce code vient d´une fonction qui prend pour paramètre debutCode et finCode. Ce code fonctionne sous Firefox, il entoure le texte sélectionné du textarea par debutCode et finCode (en fait je fais un bbCode). Sous IE ça ne fonctionne guère.

Merci de m´aider :)

darth-bane
darth-bane
Niveau 10
15 septembre 2007 à 22:04:22

Comme je l´ai déjà dit, j´ai essayé d´associer différentes méthodes pour que ça fonctionne avec IE, FF et Opera, et je n´y suis pas arrivé.

trunks_the_boss
trunks_the_boss
Niveau 9
15 septembre 2007 à 22:05:15

Modérateur, comment veux tu que je fasse remonter ce sujet sauf en créant un nouveau topic ? C´est un réél problème que j´ai là.

trunks_the_boss
trunks_the_boss
Niveau 9
15 septembre 2007 à 22:07:22

Darth-Bane, il suffirait de faire une condition car il me semble que les méthodes getSelection a un autre nom sous IE ou FF je sais plus...

darth-bane
darth-bane
Niveau 10
15 septembre 2007 à 22:08:51

Tant qu´il est en 1ère page, il est visible, donc à moins d´avoir d´autres éléments ou d´autres questions, tant que le topic n´est pas passé dans la 2ème page, on ne up pas, c´est tout !
Si personne ne te répond, ce n´est pas parce qu´il est en bas de page, mais probablement parce que personne n´a de réponse à te donner.

darth-bane
darth-bane
Niveau 10
15 septembre 2007 à 22:10:06

Ben écoute, tu n´as qu´à essayer si tu as la solution, moi j´ai essayé pendant des jours, et ça n´a jamais fonctionné avec les 3.
Si tu trouve, je suis preneur :ok:

trunks_the_boss
trunks_the_boss
Niveau 9
15 septembre 2007 à 22:12:20

Oui ben désolé pour le triple post :-(
Sinon, non je n´ai pas la solution car je ne sais pas comment "traduire" mon code FF avec IE
Rappel du code :

var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + debutCode + insText + finCode + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + debutCode.length;
}
else
{
pos = start + debutCode.length + insText.length + finCode.length;
} input.selectionStart = pos; input.selectionEnd = pos;

Voilà :)

Brael
Brael
Niveau 1
24 janvier 2008 à 13:40:24

Bonjour à tous,

Je travaille sur le même genre de truc et j'ai trouvé une solution ... bien que pas très élégante
En gros, j'utilise la méthode .move de l'objet textrange d'IE et tant que ça continue à avancer, j'incrémente un compteur.

var textrange = document.selection.createRange();
var insText = textrange.text;
var bouge = 1;
var total = 0
while (bouge>0){
bouge = textrange.move('character',1);
total+=bouge;
textrange.select();
}
alert(total);

Seul (?) petit problème, ça compte aussi les caractères qui sont mis après le textarea en question. Enfin bon, si c'est une page plus ou moins statique, il y a moyen de connaître la valeur qui biaise la mesure. Sinon, une petite fonction de mise à jour devrait être possible mais j'avoue que comme je n'en ai pas l'utilité je n'ai pas cherché!

J'espère que cela pourra vous aider

Brael
Brael
Niveau 1
24 janvier 2008 à 13:48:28

Je me rends compte que ce n'est pas très clair comme message, pcq je n'ai pas indiqué clairement l'utilité de ce que j'ai posté. Ceci permet de remplacer la variable :
input.selectionStart
Désolé pour cet évident manque de relecture!

Sinon pour réussir à récupérer la sélection d'un Textarea, il y a ce lien qui peut vous être utile:
http://actuel.fr.selfhtml.org/articles/javascript/bbcode/index.htm

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment