Avatar billede avminarm Juniormester
13. januar 2003 - 11:18 Der er 1 kommentar og
1 løsning

indsæt link i textarea i "mini-editor"

Hej jeg har denne simple minieditor:

<script language="JavaScript"><!--
function addFedStart(felt) {
    insertAtCaret(felt, '[FED]')
}
function addFedSlut(felt) {
    insertAtCaret(felt, '[/FED]')
}
function addKursivStart(felt) {
    insertAtCaret(felt, '[KURSIV]')
}
function addKursivSlut(felt) {
    insertAtCaret(felt, '[/KURSIV]')
}
function addUnderStart(felt) {
    insertAtCaret(felt, '[UNDERSTREG]')
}
function addUnderSlut(felt) {
    insertAtCaret(felt, '[/UNDERSTREG]')
}
function addCenterStart(felt) {
    insertAtCaret(felt, '[CENTRER]')
}
function addCenterSlut(felt) {
    insertAtCaret(felt, '[/CENTRER]')
}
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>
<table width="430">
<tr>
    <td colspan="4" align="center">
    <textarea cols="50" rows="12" name="tekst" ONSELECT="storeCaret(this);" ONCLICK="storeCaret(this);" ONKEYUP="storeCaret(this);" onFocus="formBg(this)" onBlur="formBgB(this)"></textarea>
    </td>
</tr>
<tr>
    <td align="center"><input type="button" class="editorknap" id="fed" value="Fed, Start" onclick="addFedStart(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
    <td align="center"><input type="button" class="editorknap" id="kursiv" value="Kursiv, Start" onclick="addKursivStart(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
    <td align="center"><input type="button" class="editorknap" id="under" value="Understreg, Start" onclick="addUnderStart(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
    <td align="center"><input type="button" class="editorknap" value="Centrér, Start" onclick="addCenterStart(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
</tr>
<tr>
    <td align="center"><input type="button" class="editorknap" id="fed" value="Fed, Slut" onclick="addFedSlut(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
    <td align="center"><input type="button" class="editorknap" id="kursiv" value="Kursiv, Slut" onclick="addKursivSlut(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
    <td align="center"><input type="button" class="editorknap" id="under" value="Understreg, Slut" onclick="addUnderSlut(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
    <td align="center"><input type="button" class="editorknap" value="Centrér, Slut" onclick="addCenterSlut(this.form.tekst)" onFocus="formBg(this)" onBlur="formBgB(this)"></td>
</tr>
</table>

Jeg søger en knap som kan indsætte et link i textareaet - ikke på samme måde som de andre kommandore, men via f.eks et popup vinduei eller evt på samme side i bunden.

Det skal være sådan at man i et textfelt skriver URL og i et andet skriver selve LINKteksten og ved klik på indsæt link sættes flg ind i textarea: [a href="www.url.dk"]LINKtekst[/a]

OBS: jeg er ikke så stiv i javascript
Avatar billede Slettet bruger
13. januar 2003 - 15:01 #1
Først skal der for en god ordens skyld lige form-tags rundt om dine form-elementer.

Så skal dette ind i head (mellem script-tagsene):

function addLink(frm) {
txt = frm.lnkTxt.value;
if (txt == "") {
alert("Husk at udfylde linkets tekst!");
return;
}
url = frm.lnkURL.value;
if (url == "") {
alert("Husk at udfylde linkets adresse!");
return;
}
insertAtCaret(frm.tekst, '[a href="' + url + '"]' + txt + '[/a]');
}

Og så kan du indsætte dette:

<input type="text" name="lnkTxt" value="Linktekst"> <input type="text" name="lnkURL" value="Link adresse"> <input type="button" value="Indsæt link" onClick="addLink(this.form);">
Avatar billede avminarm Juniormester
13. januar 2003 - 15:10 #2
hej phoenix>> det med form tags er fordi editoren includes i flere forskellige forms og der er form tagsne ;-)

Men tak for en perfekt løsning ;-) - jeg havde ellers lige sat points op til 45 - so - lucky you ;-)
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