Recuperer une partie de texte

cs_fab78 Messages postés 6 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 19 juillet 2002 - 17 juil. 2002 à 17:31
djnos Messages postés 19 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 15 février 2008 - 13 mai 2005 à 23:49
j'ai un textarea dans lequel l'utilisateur écrit.
et je voudrai récupérer la partie du texte que
l'utilisateur met en surbrillance.
je sais qu'il existe la methode onselect mais je
ne vois pas comment avec cette methode je
peux récupérer la partie du texte mise en surbrillance.

5 réponses

cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
17 juil. 2002 à 21:28
À ma connaisance, ce truc n'a rien à voir avec l'évenènment onSelect.

Tu peux récupérer le texte avec une méthode implémentée par Microsoft, execCommand() je crois.

Va voir sur
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/commandids.asp pour plus d'infos.

Dean
0
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
18 juil. 2002 à 09:07
Bonjour,

essaie le bout de code ci-dessous.
c'est incomplet, mais il y a surement quelquechose à fouiller par là.

c'est plein de propriétés et de fonctions que je ne connais pas.

cette url m'a mis sur la voie : fr.com/article.aspx?Val=64

mais je n'ai pas trouvé grand'chose sur internet.
il faudrait un bon bouquin.

cordialement.

jc

//===========================
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<HTML>
<HEAD>
<TITLE>Insert</TITLE>
<script LANGUAGE="JavaScript">
function storeCaret (textEl)
{
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}

function VoirSelection (textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
{
sel = document.selection.createRange().text;
alert(sel);
}
}
</script>
</HEAD>

<FORM>
<textarea rows="5" name="zonetexte" cols="20"ONSELECT="storeCaret(this);"ONCLICK="storeCaret(this);"ONKEYUP="storeCaret(this);"> C'est le début du texte.</textarea>

</FORM>

</HTML>
//===========================
0
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
18 juil. 2002 à 09:13
je viens de remarquer la chose suivante :
sélectionne une partie du texte,
remet le curseur sur la sélection,
clique et fait glisser la souris

la zone sélectionnée se déplace.

jc
0
spiderdurden Messages postés 3 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 13 novembre 2003
13 nov. 2003 à 11:02
spiderdurden :big)

Salut à tous

J'ai une iframe dans laquelle je désires récupérer le texte sélectionné avec ses tags HTML et ensuite j'aimerais modifier ses tags.
Bon récupérer la sélection j'y suis arrivé à l'aide de :
sel=iframe.document.selection.createRange().htmlText;
mais pas moyen de toucher au tag ( read only).
J'aimerais donc savoir si quelqu'un connait un moyen ou alors me donner une autre piste dans laquelle chercher.

merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djnos Messages postés 19 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 15 février 2008
13 mai 2005 à 23:49
[8D]Dj Nos

salut très simple : soit tu fais partie des codeurs impropres qui vont coder uniquement pour Ms Ie alors là y a un truc qui va te simplifier la vie, genre tu précise que ton iframe est contentEditable. Et la tu peux modifier la sélection* ou alors tu oublis le js pur et tu t'orientes vers les prescription du W3C et le DOM.

ex : ...

sale méthode propre à MS mais efficace quand même

ou bien la solution existe in english sur le site de mozilla... et est compatible avec ie, nav et firefox. (dans ce cas il fo chercher un peu)

attention firefox, ça donne : window.getSelection(), je crois.

la suite peut-être dans le prochain épisode.

ps : partique : document.getElementById(test).contentWindow.document
@+
0
Rejoignez-nous