Come faccio a intercettare la posizione Corrente del cursore in una text area ?
C'e' qualche metodo che mi ritorna riga e colonna in cui si trova, in ogni momento?
Come faccio a intercettare la posizione Corrente del cursore in una text area ?
C'e' qualche metodo che mi ritorna riga e colonna in cui si trova, in ogni momento?
ho fatto esattamente la stessa domanda e mi hanno risposto ke non si può
cosa ti serve?
ad incollare testo in qella posizione?
scusate l'intromissione, ma cercavo anch'io una soluzione del genere proprio per incollare del testo nella posizione occupata dal cursore...
ho visto in vb è possibile con SelStart (ad es.), ma in js non ho trovato niente. non ci sarà un modo per copiare in variabili il testo prima e il testo dopo e poi rimontarle con il mio testo dentro?
in effetti si puo fare anche con js, ho trovato in giro due funzioni in giro che lo permettono, e che piu o meno penso siano quelle usate anche qui quando inserite smile o bold etcetcetc
se siete ancora alla ricerca fatemi sapere che ve li posto
ho fatto un programmino con visual basic n cui usavo questo codice:
Clipboard.SetText "stringa"
sendkeys "^v" 'corrisponde a control + V, cioè a Incolla.
per esempio:
<script>
var a
a=testo.value //testo è il nome della casella
</script>
<script language=VBscript>
clipboard.settext a
sendkeys "^v"
</script>
se non ti va prova a mettere gli script in una funzione
poi dimmi se va!
Chi va piano va sano e va lontano, ma arriva dopo
ti ringrazio tantissimo postamele pure, poi ti faccio sapere se ho trovato qualche altro modo per avere lo stesso risultato o se faccio qualche modifica al js che mi posti... ciaociao
Date un'occhiata anche a: script / discussioni utili
ciao
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
eccole qua, devi usare queste due funzioni
la prima memorizza la posizione corrente, puoi associarla ad esempio ad eventi tipo onBlur, onChange etcetc, in maniera da avere la posizione sempre aggiornata.L'argomento objTxt e' la textarea ovviamente
function storeCaret (objTxt) {
if (objTxt.createTextRange)
objTxt.caretPos = document.selection.createRange().duplicate()
}
Quest'altra invece inserisce il testo che passi come 'text' nella posizione precedentemente memorizzata dall'altra funzione. objTxt e' sempre la textarea in questione.
function insertAtCaret (objTxt, text) {
if (objTxt.createTextRange && objTxt.caretPos) {
var caretPos=objTxt.caretPos;
caretPos.text=caretPos.text.charAt(caretPos.text.l ength - 1) == ' ' ?text + ' ' : text;
}
else
objTxt.value = text;
}
un piccolo esempio:
<textarea name='testCaret'
onBlur='storeCaret(this)'
onChange='storeCaret(this)'
//...altri eventi></textarea>
<input type='button' onClick='insertAtCaret(document.form.testCaret,"un testo di prova")'>
poi ovviamente lo adatterai alle tue esigenze, fammi sapere se e' tutto ok, ho scritto in volata e magari ho postato qualche cavolata
ps:scusa il ritardo
grazie 1000 adesso provo e poi ti faccio sapere come è andata...
ciaociao :-)