![]() |
|
|
|||||||
| Javascript Här diskuteras det som rör Javascript, AJAX, DOM & DHTML. |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
Medlem
Registrerad: 2000-01-12
Ort: Jönköping
Inlägg: 3 571
Lösningar: 3740 |
Finns det någon möjlighet att infoga en förutbestämd sträng vid en viss position i en textarea? Det är så att jag har en ruta där en massa text skrivs in för att redigera tidigare skrivna texter. Bredvid rutan finns en knapp och vid ett klick på den så ska en <br>-tagg stoppas in där markören befinner sig. Det duger alltså inte med att slänga in taggen sist i arean eftersom det kan vara en redigering av en redan befintlig text.
Jaja, ni kanske förstår. Hoppas att någon kan hjälpa mig. ![]() ------------------ de'nim
__________________
_______________________________ Kim Halderot, frilansande copywriter www.halderot.se |
|
|
|
|
|
#2 |
|
Medlem
Registrerad: 2000-01-12
Ort: Jönköping
Inlägg: 3 571
Lösningar: 3740 |
Ingen som har en aning?
------------------ de'nim
__________________
_______________________________ Kim Halderot, frilansande copywriter www.halderot.se |
|
|
|
|
|
#3 |
|
Medlem
Registrerad: 2000-01-12
Ort: Jönköping
Inlägg: 3 571
Lösningar: 3740 |
Jaja, med ett par funktioner som jag själv fick knåpa ihop så löste det sig. Men jag kanske har missat någon befintlig sak som fixar det där själv?
------------------ de'nim
__________________
_______________________________ Kim Halderot, frilansande copywriter www.halderot.se |
|
|
|
|
|
#4 |
|
Medlem
Registrerad: 2001-09-11
Ort: Göteborg
Inlägg: 274
Lösningar: 1 |
|
|
|
|
|
|
#5 |
|
Medlem
Registrerad: 2000-01-12
Ort: Jönköping
Inlägg: 3 571
Lösningar: 3740 |
Kod:
<script language="javascript">
function storeCaret(textArea) {
if(textArea.createTextRange) {
textArea.caretPos = document.selection.createRange().duplicate();
}
}
function insertAtCaret(textArea, text) {
if(textArea.createTextRange && textArea.caretPos) {
caretPos = textArea.caretPos;
caretPos.text =
caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
'<' + text + '>\n ' : '<' + text + '>\n' ;
textArea.focus();
} else {
textArea.value = text;
}
}
</script>
Så här ser HTML-koden ut för att hela tiden hålla aktuell position samt för att klicka på en knapp och då infoga något på rätt ställe. Kod:
<TEXTAREA NAME="text" ROWS="12" COLS="36" WRAP="virtual" onselect="storeCaret(this)" onclick="storeCaret(this)" onkeyup="st\ oreCaret(this)"></TEXTAREA> <br><br> <input type="button" name="brknapp" onClick="javascript:insertAtCaret(text, 'p');" value="P" style="width: 40; font-size: 7px;"> ![]() ------------------ de'nim
__________________
_______________________________ Kim Halderot, frilansande copywriter www.halderot.se |
|
|
|
|
|
#6 |
|
Medlem
Registrerad: 2001-09-11
Ort: Göteborg
Inlägg: 274
Lösningar: 1 |
Oj
Det var tjusigt. Men om vi säger att jag skulle vilja lägga in t.ex. en bild; hur skulle jag göra då? Jag skulle altså vilja ha en funktion som såg ut ungefär så här: Kod:
function insertImg(textArea, url){
caretPos = textArea.caretPos;
caretPos = '<img src="'+url+'">';
textArea.focus();
}
![]() ------------------ Schöndells webbsajt [Redigerat av eas den 02 nov 2001] |
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|