Transférer élément d'une liste dans un textarea à la position du curseur
Bonjour a toute la communauté.
J'ai besoin de construire une (ou plusieurs fonction javascript) qui me permettrait de transférer les éléments d'un listbox dans un textarea immédiatement après le prochain retour chariot (après le curseur) rencontrer dans le text Area.
Par exemple:
ListBox textArea
Element1 Element1
Element2 Element2
Element3
Si le curseur est dans Element1 du textArea, et que Element3 est sélectionné, je voudrais que élément3 soit copié entre Element1 et Element2 sur le clic d'un bouton
Le résultat serait
textArea
Element1
Element3
Element2
Présentement j'ai ces fonctions qui copie l'élément de la listebox exactement ou le curseur se trouve:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| function flipAlerte()
{
if (selAlertes.selectedIndex > -1)
{
insertAtCursor(txtAlerte,selAlertes.options[selAlertes.selectedIndex].text);
}
else
alert("Aucun élément à basculer")
}
function insertAtCursor(myField, myValue) {
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
//Détermination de l'emplacement du curseur
sel.text = '§';
var curPosition = myField.value.indexOf('§');
if (curPosition > 0)
{
// Gestion du retour de chariot AVANT
if (myField.value.charCodeAt(curPosition-2) != 13)
{
myValue = '\n' + myValue;
}
}
// Gestion du retour de chariot APRÈS
if (myField.value.charCodeAt(curPosition+1) != 13)
{
myValue = myValue + '\n';
}
sel.text = myValue;
myField.value = myField.value.replace('§','');
}
} |
Je voudrais simplement etre en mesure de détecter la fin du mot ou se trouve le curseur, ajouter un ligne et insérer ma sélection.
merci