[JavaScript]Selection dans un textarea

Fermé
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 - 20 janv. 2009 à 15:48
 adelmed - 31 mars 2012 à 21:00
Bonjour,

J'expose le problème que nous rencontrons avec un collègue :

nous cherchons à récupérer la valeur d'un texte sélectionné dans une balise TEXTAREA à l'aide d'une fonction JavaScript.

Nous avons lu quelques posts à ce sujet sans réelle réponse. Nous avons essayé "document.getSelection()" mais sans résultat.

Donc lorsque nous récupérons l'element (avec getElementsByTagName("textarea") ou byId si vous préférez) que devons nous faire pour récupérer le texte sélectionné dans cet élément ?

Merci pour vos réponses, et essayez s'il vous plait de pas "lacher" des bouts de code en vrac, nous pensons que la question est assez clair. merci

NB: nous utilisons actuellement Firefox et nous adapterons le code s'il est fourni pour IE, merci

3 réponses

voici un vieux code ,mais qui marche sur ff et ie:
cherche_selection(id) {
if(navigator.appName.indexOf('Internet Explorer')!=-1)
{
var content=document.getElementById(id);
content.focus();
var selection=document.selection.createRange();
var str=selection.text;
}
else
{

var content=document.getElementById(id); //'contenu:id de mon textarea
var debut=content.selectionStart;
var fin=content.selectionEnd;
content_length=content.value.length;
var str=content.value.substring(debut,fin);
}
return str;
}
<div onclick="cherche_selection('id_balise')">Cliquez ICI</div>
<textarea id="id_balise" rows="10" cols="50"></textarea>

Voila ça devrait marcher !
http://hardcode.lesmondesbinaires.com
3
heu oui c function cherche_selection(id) ,j'avais oublié le mot function
A++
http://referencement-pas-cher.info
0
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
21 janv. 2009 à 08:37
Personne ne sait comment faire ?

merci pour les aides à venir
0
voila une fonction qui pourra vous aider:
function couleur()

{
var field = document.getElementById("comm");

if (window.ActiveXObject) { // C'est IE
var textRange = document.selection.createRange();
var currentSelection = textRange.text;

textRange.text = currentSelection ;
alert(textRange.text);
} else { // Ce n'est pas IE
var startSelection = field.value.substring(0, field.selectionStart);
var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
var endSelection = field.value.substring(field.selectionEnd);

var select= currentSelection ;

}
var col = document.getElementById("cou").value;
var text = document.getElementById("comm").value;
text = text.replace(select, "<font color='"+col+"'>" + select + "</font>");
document.getElementById("comm").value= text;
document.getElementById("test").innerHTML = text;
}

</script>

la fonction couleur recupere dans un champs input text la valeur du couleur et applique la couleur au text selectioné.
pour tester l'appel a la fonction vous pouvez ajouter un boutton et faire appel a la fonction via onclick.
0