Avatar billede herchin Nybegynder
07. august 2001 - 15:20 Der er 13 kommentarer og
1 løsning

Indsæt tekst i <tekstarea> dynamisk

Hejsan

Hvis jeg klikker på en af de options der er i min <select>, hvordan får jeg så teksten jeg vælger ned i mit <textarea> ???

Eks:
Jeg klikker på \"Hej\" og i <textarea> står der nu \"Hej\"

Her er min form:

<form method=\"post\" action=\"editor.hmtl\">
<table border=\"0\" cellspacing=\"0\" cellpading=\"5\">
<tr>
  <td>
    <select name=\"styles\">
      <option value=\"normal\">Hej
      <option value=\"italic\">Til
      <option value=\"bold\">Kære
    </select>
  </td>
</tr>
<tr>
  <td colspan=\"2\">
    <textarea rows=\"2\" cols=\"20\" id=\"text\" \"text\"></textarea>
  </td>
</tr>
</table>
</form>
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:25 #1
<form method=\"post\" action=\"editor.hmtl\" name=\"f\">
<table border=\"0\" cellspacing=\"0\" cellpading=\"5\">
<tr>
  <td>
    <select name=\"styles\" onChange=\"document.f.text.value=this.options[this.selectedIndex].value\">
      <option value=\"normal\">Hej
      <option value=\"italic\">Til
      <option value=\"bold\">Kære
    </select>
  </td>
</tr>
<tr>
  <td colspan=\"2\">
    <textarea rows=\"2\" cols=\"20\" id=\"text\" \"text\"></textarea>
  </td>
</tr>
</table>
</form>
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:26 #2
Som du kan se er det value der bliver sat ind her.
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:28 #3
Du skal altså lige skrive value=\"hej\" istedet.

Alternativ kan du skrive name=\"hej\" og så i stedet: this.selectedIndex].name
Avatar billede herchin Nybegynder
07. august 2001 - 15:30 #4
Tak for et hurtigt svar! Jeg glemte bare en lille detalje: Teksten skal ind der, hvor makøren var palceret i edit feltet... More points coming up if necesary!

Eks:

\"Hej nikolajdu - hvordan går <her står markøren og teksten skal sættes ind her!> i din hjemby?\"

Avatar billede herchin Nybegynder
07. august 2001 - 15:37 #5
må jeg ikke lige starte forfra - var ikke lige helt klar over, hvad det var jeg havde brug for???

Hvis jeg klikker på en af de options der er i min <select>, hvordan får jeg så teksten jeg vælger ned i mit <textarea>. Der gælder stadigt, at det skal skrives der, hvor makøren står!

Eks:
Jeg klikker på \"Bold\" og i <textarea> står der nu \"<bold>\" med klammer!

Her er min form:

<form method=\"post\" action=\"editor.hmtl\">
<table border=\"0\" cellspacing=\"0\" cellpading=\"5\">
<tr>
  <td>
    <select name=\"styles\">
      <option value=\"normal\">normal
      <option value=\"italic\">italic
      <option value=\"bold\">bold
    </select>
  </td>
</tr>
<tr>
  <td colspan=\"2\">
    <textarea rows=\"2\" cols=\"20\" id=\"text_ID\" name=\"text_Name\"></textarea>
  </td>
</tr>
</table>
</form>
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:44 #6
Jeg er i gang med din løsning - Tager lige 2 minutter.
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:48 #7
Sådan så skulle den være der.

<HTML>
    <HEAD>
    <SCRIPT>
    function storeCaret (textEl) {
      if (textEl.createTextRange)
        textEl.caretPos = document.selection.createRange().duplicate();
    }
    function insertAtCaret (textEl, text) {
      if (textEl.createTextRange && textEl.caretPos) {
        var caretPos = textEl.caretPos;
        caretPos.text =
          caretPos.text.charAt(caretPos.text.length - 1) == \' \' ?
            text + \' \' : text;
      }
      else
        textEl.value  = text;
    }
    </SCRIPT>
    </HEAD>
    <BODY>
      <form method=\"post\" action=\"editor.hmtl\" name=\"f\">
<table border=\"0\" cellspacing=\"0\" cellpading=\"5\">
<tr>
  <td>
    <select name=\"styles\" onChange=\"insertAtCaret(this.form.text, this.options[this.selectedIndex].value)\">
      <option value=\"&lt;normal&gt;\">normal
      <option value=\"&lt;italic&gt;\">italic
      <option value=\"&lt;bold&gt;\">bold
    </select>
  </td>
</tr>
<tr>
  <td colspan=\"2\">
    <textarea rows=\"2\" cols=\"20\" id=\"text\" onSelect=\"storeCaret(this);\" onClick=\"storeCaret(this);\" onKeyup=\"storeCaret(this);\"></textarea>
  </td>
</tr>
</table>
</form>
    </BODY>
    </HTML>

http://www.fotx.net/nikolajdu
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:49 #8
Virker kun i IE - Kan desværre ikke laves til Netscape :-(
Avatar billede herchin Nybegynder
07. august 2001 - 15:54 #9
Du er sej, hvis det her virker!!! Du er for hurtig!
Avatar billede nikolajdu Nybegynder
07. august 2001 - 15:57 #10
Havde noget af det liggende i forvejen. ;-)
Avatar billede herchin Nybegynder
07. august 2001 - 16:01 #11
Hehe - jeg afprøver lige!
Avatar billede nikolajdu Nybegynder
07. august 2001 - 16:08 #12
Avatar billede herchin Nybegynder
07. august 2001 - 16:12 #13
Ok - det var rimeligt sejt! Thx
Avatar billede nikolajdu Nybegynder
07. august 2001 - 16:13 #14
np :-)
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