[JavaScript]Selection dans un textarea

daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   -  
 adelmed -
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

stc
 
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
stc
 
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   Statut Membre Dernière intervention   44
 
Personne ne sait comment faire ?

merci pour les aides à venir
0
adelmed
 
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