Avatar billede cronaldo Nybegynder
13. marts 2005 - 21:41 Der er 11 kommentarer og
1 løsning

Indsæt noget i et textarea vha. en knap..

Hvis man nu trykker på en knap, så skal den indsætte fx udenom det tekst der er markeret, så hvis det ser fx sådan her ud:
man markerer: Hej
trykker på knappen og det ser sådan her ud: Hej .. Hvis man ikke har markeret noget, så skal der komme et vindue, hvor man så kan skrive i et input hvad der skal rundt om, og så trykke ok, så indsætter den det i et textarea .. Kan det lade sig gøre?
Avatar billede alister_crowley Nybegynder
13. marts 2005 - 21:55 #1
Avatar billede skyggen2000 Nybegynder
14. marts 2005 - 11:17 #2
I nedenstående eksempel, bliver det tilføjet XXX , hvis der er markeret tekst, eller flyttes fokus til textarea boksen, hvor en onchange funktion tilføjer XXX når der ændret i teksten: Det kan godt lade sig gøre at åbne et vindue hvor man skal indtaste noget tekst, men er det nødvendigt?

<html>
<body>       
    <div>hejsa med dig</div>
    <textarea id="textarea_0" onchange="addB(this)" cols="39" rows="5"></textarea>
    <input type=button onclick="selectedText()" value="Tilføj valgte text"></input>
</body>
</html>

<script language="javascript">
           
    function selectedText()
    {   
        if(document.selection.createRange().text != "")   
            document.getElementById("textarea_0").innerHTML = "" +  document.selection.createRange().text  + "";
        else
            document.getElementById("textarea_0").focus();
    }
   
    function addB(textareaObj)
    {
        textareaObj.innerHTML = "" + textareaObj.innerHTML + ""
    }

   
</script>
Avatar billede cronaldo Nybegynder
14. marts 2005 - 13:48 #3
Hmm, alister_crowley - hvis dit virkede var det PERFEKT! .. Men når jeg indsætter det bliver der bare hvid side? :S
Avatar billede cronaldo Nybegynder
14. marts 2005 - 13:56 #4
Ok, nu har jeg fået det til ikke at vise hvid side, men nu gider den ikke indsætte det .. :S
Avatar billede cronaldo Nybegynder
14. marts 2005 - 13:59 #5
her er JavaScriptet:
<script type="text/javascript">
  function insertTag(frmElm,startTag,endTag) {
      if (frmElm.selectionStart != undefined && frmElm.selectionEnd != undefined) {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {frmElm.focus();r = document.selection.createRange();r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
  }
</script>

Det man skal klikke på:
<a href="#" onClick="insertTag(this.form.indhold,'','');">Link</a>

Det det skal sættes ind i:
<textarea cols="60" rows="12" id="indhold" name="indhold"></textarea>
Avatar billede alister_crowley Nybegynder
14. marts 2005 - 19:54 #6
1. det er ikke mit, det er skovenborgs
2. Skovenborgs virker perfekt...
Avatar billede cronaldo Nybegynder
14. marts 2005 - 22:26 #7
Er der ikke lige nogen der kan hjælpe med det deroppe? ^
Avatar billede cronaldo Nybegynder
15. marts 2005 - 18:17 #8
Er der ikke lige nogen der gider hjælpe ? .. Jeg har dette:

<script type="text/javascript">
  function insertTag(frmElm,startTag,endTag) {
      if (frmElm.selectionStart != undefined && frmElm.selectionEnd != undefined) {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {frmElm.focus();r = document.selection.createRange();r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
  }
</script>


<p>Indhold:<br>
Indsæt:
        <form>
        <a href="#" onClick="insertTag(this.form.indhold,'','');">Link</a>,
        <a href="#" onClick="insertTag(this.form.indhold,'[img=]','[/img]');">Billede</a>,
        <a href="#" onClick="insertTag(this.form.indhold,'[hr]');">Vandretlinje</a>,
        <a href="#" onClick="insertTag(this.form.indhold,'','');">Fed skrift</a>,
        <a href="#" onClick="insertTag(this.form.indhold,'','');">Skråskrift</a>,
        <a href="#" onClick="insertTag(this.form.indhold,'','');">Understreget skrift</a>
        </form>
<textarea cols="60" rows="12" id="indhold" name="indhold"></textarea></p>

------------------------------------------------------
Kan det være fordi jeg har noget "php" i adresselinjen? .. altså noget ?page=**&id=** ??
Avatar billede alister_crowley Nybegynder
15. marts 2005 - 18:50 #9
Hvad får du af fejl ?

(Kig i Firefox's "Javascript-konsol")
Avatar billede cronaldo Nybegynder
15. marts 2005 - 20:43 #10
den vil bare ikke indsætte noge tog skriver siden er udført, med fejl :S .. Og det er i Internet Explorer!
Avatar billede amews_aj Nybegynder
15. marts 2005 - 20:52 #11
JEg har denne kode, og den virker i hvert fald...


<script type="text/javascript">

function insertTag(frmElm,startTag,endTag) {
      if (frmElm.selectionStart != undefined && frmElm.selectionEnd != undefined) {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {frmElm.focus();r = document.selection.createRange();r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
}

var fokus = false;
var cursorpos;

function mozPlaceCursor(frmElm) {
    if (typeof frmElm.selectionEnd == "number" && cursorpos != undefined) {
        frmElm.setSelectionRange(cursorpos,cursorpos);
    }
}

function storeTextRange() {
      if (document.selection) {
            curRange = document.selection.createRange().duplicate();
      }
}

</script>

<form action="" name="formen">
<textarea name="tekst" cols="10" rows="10" onfocus="fokus = true;" onblur="fokus = false;" onclick="storeTextRange()" onkeyup="storeTextRange();"></textarea>
<input type="button" value="Link" onclick="insertTag(document.formen.tekst,'[a]','[/a]');">
</form>
Avatar billede amews_aj Nybegynder
17. april 2005 - 17:46 #12
Fik du det til at virke?
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