Tempo fa avevo recuperato questo script da qualche parte. Serve per recuperare il testo selezionato in una textarea e reinserirlo nella stessa posizione con dei marcatori.
In pratica è il codice usato per un editor di testi.
Ho scoperto a malinquore che non funziona ne con FF ne con Opera. Sapete come risolvere?
Oppure avete uno script che fa lo stesso lavoro e che sia crossbrowser?
codice:
//questa funzione aquisisce la posizione del cursore nella textarea interessata.
function storeCaret () {
var textEl = eval("document.all.code");
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}
//Questa funzione aggiunge il testo nella posizione in cui si trova il cursore o intorno al testo selezionato
function AddText(NewCode) {
var textEl = eval("document.all.code");
if (textEl.createTextRange && textEl.caretPos) {
var caretPos = textEl.caretPos;
caretPos.text = NewCode;
} else {
textEl.value+=NewCode;
}
textEl.focus();
}
//Questa funzione aquisisce dalla textarea indicata il testo eventualmente selezionato
function getText() {
var textEl = eval("document.all.code");
if (textEl.createTextRange && textEl.caretPos) {
return textEl.caretPos.text;
} else {
return '';
}
}