Avatar billede jonbdk Nybegynder
23. juli 2003 - 13:36 Der er 12 kommentarer og
1 løsning

Brug javascript til at indsætte tekst i textarea.

Jeg har et script hvormed jeg indsætter noget tekst i et tekstfelt:
<FORM method="post" name="send" action="save.asp">
<textarea name="body" cols="80" rows="15" wrap="PHYSICAL">
</textarea>
</FORM>
<A HREF="java script:InsertHTML('<hr>')" style="color: blue" style="text-decoration:none">Linje</A>
<script>

function InsertHTML(toInsert)
{
  send.body.value = send.body.value + toInsert;
}
</script>

Ovenstående virker rigtig fint.
Det jeg vil høre er, om man kan indsætte et andet sted end sidst i textarea.
Hvis jeg nu har skrevet noget, og finder ud af, at det hele skal starte med en linje (eller den skal komme inde midt i noget tekst). Kan jeg sætte markøren der hvor den skal være, og så få indsat der?
Avatar billede erikjacobsen Ekspert
23. juli 2003 - 13:38 #1
send.body.value =  toInsert+send.body.value;

sætter først
Avatar billede jonbdk Nybegynder
23. juli 2003 - 13:44 #2
jep okay -den er jeg med på :)
Hvad hvis jeg vil have den inde i teksten?
Avatar billede TRoXa Novice
23. juli 2003 - 14:03 #3
function inserttext(myTA, texttoinsert)
{
  myTA.value = myTA.value.substring(0,myTA.selectionStart) + texttoinsert + myTA.value.substring(myTA.selectionStart,myTA.value.length)
}

<div onclick="inserttext(document.getElementById('body'),'<hr>')">Linie</div>

prøv det :)
Avatar billede jonbdk Nybegynder
23. juli 2003 - 14:31 #4
Jeg får den til at virke som følgende:

send.body.value =  send.body.value + toInsert+send.body.value;
Stadig ikke helt, prøver at læse lidt om substring metoden
Avatar billede jonbdk Nybegynder
23. juli 2003 - 16:46 #5
Altså ikke at jeg har løst opgaven, men at troxas metode virkede som ovenstående. Andre der har bud?
Avatar billede TRoXa Novice
23. juli 2003 - 16:50 #6
jeg har desværre ikke andre bud
Avatar billede erikjacobsen Ekspert
24. juli 2003 - 00:37 #7
Hvad er dit problem, helt præcist?
Avatar billede thomas_yde Nybegynder
24. juli 2003 - 10:53 #8
Vil du gerne kunne indsætte fx. <b></b> omkring noget eller bare ind i teksten for at style det?

Hvis så kan du kigge på det her:

<script language=javascript>
<!--

function markSelection ( txtObj ) {
if ( txtObj.createTextRange ) {
  txtObj.caretPos = document.selection.createRange().duplicate();
  isSelected = true;
}
}

function insertTag ( txtName, tag, enclose ) {
var closeTag = tag;
if ( enclose ) {
  var attribSplit = tag.indexOf ( ' ' );
  if ( tag.indexOf ( ' ' ) > -1 )
    closeTag = tag.substring ( 0, attribSplit );
}
if ( isSelected ) {
  var txtObj = eval ( "document.forms[0]." + txtName );
  if (txtObj.createTextRange && txtObj.caretPos) {
    var caretPos = txtObj.caretPos;
    caretPos.text = ( ( enclose ) ? "<"+tag+">"+caretPos.text+"</"+closeTag+">" : "<"+tag+">"+caretPos.text );
    markSelection ( txtObj );
    if ( txtObj.caretPos.text=='' ) {
      isSelected=false;
    txtObj.focus();
    }
  }
} else {
  // placeholder for loss of focus handler
}
}

//-->
</script>

<form>
<textarea name="tsttxt" ONSELECT="markSelection(this);" ONCLICK="markSelection(this);" ONKEYUP="markSelection(this);"></textarea>
<input type="button" value="BOLD" onClick="insertTag ( 'tsttxt', 'b', true )">
<input type="button" value="PARAGRAPH" onClick="insertTag ( 'tsttxt', 'p', false )">
</form>
Avatar billede jonbdk Nybegynder
25. juli 2003 - 21:51 #9
thomas_yde->Det virker - og løste i hvert fald mit behov
Smider du et svar?
Avatar billede jonbdk Nybegynder
25. juli 2003 - 21:55 #10
Jeg har selv tilføjet lidt:

function checkCursor()
{
  oRng = document.selection.createRange(); 
}
   
function insertText(textToInsert)
{
  if(oRng)
  {
    oRng.text = textToInsert;
    send.body.focus()
  }
}


<FORM method="post" name="send" action="=Send.asp?page=send">
<textarea id="inputTextarea" name="body" cols="80" rows="15" wrap="PHYSICAL" onClick="checkCursor()"  onchange="checkCursor()">
</textarea>
<input type="Submit" value="Send" >

Så løsningen blev lidt mere simpel - men point til thomas for at lave den anden del jeg skulle bruge :)
Avatar billede jonbdk Nybegynder
09. august 2003 - 14:27 #11
Thomas smider du et svar så jeg kan lukke?
Avatar billede jonbdk Nybegynder
10. august 2003 - 15:38 #12
Nå, han svarer ikke - jeg svarer selv så vi kan få det lukket. Hvis nogen har indvendinger må I sige til
Avatar billede thomas_yde Nybegynder
11. august 2003 - 09:40 #13
Så først lige svaret nu :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester