Avatar billede Slettet bruger
25. juli 2002 - 16:33 Der er 10 kommentarer og
1 løsning

link og textarea

hejsa
jeg vil høre om nogle kan hjælpe med sådan et her script:
Jeg har et textarea felt.... så vil jeg gerne på samme side have et link(alm html <A>) som når man trykker på det så indsætter den noget tekst i det textarea felt..... der hvor cursoren står i feltet.....
kan det laves?
Avatar billede Slettet bruger
25. juli 2002 - 16:48 #1
og i givet fald hvordan?
Avatar billede jakoba Nybegynder
25. juli 2002 - 18:04 #2
<form name='formensNavn' ...>
<input name='feltetsNavn' type='text' ...>
</form>

<a href="" onclick="document.formensNavn.feltetsNavn.value='noget der skal stå';return false;">klik</a>

mvh JakobA
Avatar billede jakoba Nybegynder
25. juli 2002 - 18:05 #3
Ups. overså din sidst 'der hvor cursoren står' den er svær, og ovenstående duer så ikke.
Avatar billede Slettet bruger
25. juli 2002 - 18:07 #4
jah nemelig...... men kan man ik gøre det på den måde som jeg siger?
Avatar billede Slettet bruger
25. juli 2002 - 18:08 #5
hæver gerne point
Avatar billede Slettet bruger
25. juli 2002 - 20:24 #6
poiint hævet til 60
Avatar billede ulrina Nybegynder
28. juli 2002 - 19:50 #7
Jeg ved ikke om du kan bruge det her script.. bruger det selv :)

<script language="JavaScript">
var tekst1 = "Skriv med FED";
var tekst2 = "Skriv kursiv";
var tekst3 = "Skriv understreget";

function tekst (which, txt) {
    which.info.value = txt;
}

function GemPos (textEl) {
    if (textEl.createTextRange)
        textEl.caretPos = document.selection.createRange().duplicate();
}

function IndsetVedPos (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  = textEl.value + text;
    }
    return true;
}

function Kommando(which, action) {
    var revisedMessage;
    var currentMessage = document.test.textbox.value;

    if (action == "bold") {
        if (which.fed.value == 'B ') {
            which.fed.value = 'B*';
            IndsetVedPos(document.test.textbox, "[B]");
            document.test.textbox.focus();
            tekst1 = "Stop skriv med FED";
            which.textbox.focus();
            return;
        }else if (which.fed.value == 'B*') {
            which.fed.value = 'B ';
            IndsetVedPos(document.test.textbox, "[/B]");
            document.test.textbox.focus();
            tekst1 = "Skriv med FED";
            which.textbox.focus();
            return;
        }
    }

    if (action == "italic") {
        if (which.kurs.value == 'K ') {
            which.kurs.value = 'K*';
            IndsetVedPos(document.test.textbox, "[I]");
            document.test.textbox.focus();
            tekst2 = "Stop skriv kursiv";
            which.textbox.focus();
            return;
        }else if (which.kurs.value == 'K*') {
            which.kurs.value = 'K ';
            IndsetVedPos(document.test.textbox, "[/I]");
            document.test.textbox.focus();
            tekst2 = "Skriv kursiv";
            which.textbox.focus();
            return;
        }
    }

    if (action == "underline") {
        if (which.undl.value == 'U ') {
            which.undl.value = 'U*';
            IndsetVedPos(document.test.textbox, "[U]");
            document.test.textbox.focus();
            tekst3 = "Stop skriv understreget";
            which.textbox.focus();
            return;
        }else if (which.undl.value == 'U*') {
            which.undl.value = 'U ';
            IndsetVedPos(document.test.textbox, "[/U]");
            document.test.textbox.focus();
            tekst3 = "Skriv understreget";
            which.textbox.focus();
            return;
        }
    }

}
</script>
<form action="" method="post" name="test">
<TEXTAREA class=ip-textarea onkeyup=GemPos(this); onclick=GemPos(this); name=textbox rows=13 wrap=VIRTUAL cols=50></TEXTAREA>&nbsp;
<br>
<INPUT type=button value="B " name=fed onclick="Kommando(this.form, 'bold');" onmouseover="return tekst(this.form,tekst1)" onmouseout="return tekst(this.form,'')" style="FONT-WEIGHT: bold">
<INPUT type=button value="K " name=kurs onclick="Kommando(this.form, 'italic');" onmouseover="return tekst(this.form,tekst2)" onmouseout="return tekst(this.form,'')" style="FONT-STYLE: italic">
<INPUT type=button value="U " name=undl onclick="Kommando(this.form, 'underline');" onmouseover="return tekst(this.form,tekst3)" onmouseout="return tekst(this.form,'')" style="TEXT-DECORATION: underline">
<br>
<INPUT name=info >
</FORM>
Avatar billede Slettet bruger
02. august 2002 - 07:26 #8
jeps det er nærste det jeg skal bruge men kan du lave sådan at der ikke et det der felt hvor man kan se den tekst nr man holder musen over..... og lave sådan det er et billede man trykker på
Avatar billede ulrina Nybegynder
02. august 2002 - 08:55 #9
Det får du så her :)

<script language="JavaScript">
    function GemPos (textEl) {
        if (textEl.createTextRange)
            textEl.caretPos = document.selection.createRange().duplicate();
    }

    function IndsetVedPos (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  = textEl.value + text;
        }
        return true;
    }

    function Kommando(which, action) {
        var revisedMessage;
        var currentMessage = document.test.textbox.value;

        if (action == "test1") {
            IndsetVedPos(document.test.textbox, "TEST1");
            document.test.textbox.focus();
            return;
        }

        if (action == "test2") {
            IndsetVedPos(document.test.textbox, "TEST2");
            document.test.textbox.focus();
            return;
        }

        if (action == "link") {
            lnk = prompt("Indtast link (url)","http://")
            txt = prompt("Indtast text til link","Indtast her")
            IndsetVedPos(document.test.textbox, "[URL=" + lnk + "]" + txt + "[/URL]");
            document.test.textbox.focus();
            return;
        }
    }
</script>
<form action="" method="post" name="test">
    <TEXTAREA class=ip-textarea onkeyup=GemPos(this); onclick=GemPos(this); name=textbox rows=13 wrap=VIRTUAL cols=50></TEXTAREA>&nbsp;
    <br>
    <IMG SRC="URL TIL BILLEDE" alt="Indsæt Test1" STYLE="CURSOR: hand" onclick="Kommando(this.form, 'test1');">
    <IMG SRC="URL TIL BILLEDE" alt="Indsæt Test2" STYLE="CURSOR: hand" onclick="Kommando(this.form, 'test2');">
    <IMG SRC="URL TIL BILLEDE" alt="Opret et link" STYLE="CURSOR: hand" onclick="Kommando(this.form, 'link');">
    <br>
</FORM>
Avatar billede kirsten Nybegynder
27. oktober 2003 - 17:48 #10
ulrina > Lækkert script! :)
Jeg har et problem med dit script, hvis jeg hiver noget tekst ud fra en db i <textarea> skriver den tagsne efter teksten....

Har du en løsning?

/Christian
Avatar billede ulrina Nybegynder
28. oktober 2003 - 05:47 #11
Hmm jeg ved ikke rigtig hvad der går galt.. men kan det være de tegn som du sætter ind mellem tagsene f.eks " eller ' måske..
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