Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:04 Der er 22 kommentarer og
1 løsning

Indsætte tag i textarea (som også virker i firefox)

Hej, der er mange eks. herinde på hvordan man laver disse knapper i js, men jeg kan ikke finde nogle, som også virker i firefox.
Jeg har selv nogle, indsætter teksten (fx <b></<b>), men hvis man markere noget så sletter den bare det tekst som var der før... Nogle som kan hjælpe mig??
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:14 #1
function insertTag(frmElm,startTag,endTag) {
    if (typeof frmElm.selectionStart == "number") {
          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;
}
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:15 #2
Hej, er ikke så god til det der js osv, kan du ikke lige smide html koden oven i os ? :P
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:15 #3
<a href="#" onclick="insertTag(document.form1.tekst,'<i>','</i>');">Italic (Kursiv tekst)</a>
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:17 #4
I dette tilfälde hedder dit textarea "tekst"
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:19 #5
skal textarea feltet hedde noget bestemt? :D
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:19 #6
og din form "form1" selvfölgelig
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:21 #7
<a href="#" onclick="insertTag(document.DIT_FORM_NAVN.DIT_TEXTAREA_NAVN,'<i>','</i>');">Italic (Kursiv tekst)</a>

Det er ikke fordi jeg skriger det er bare så du kan se hvor jeg har skrevet ;o)
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:23 #8
hmm kan ikke få det til at virke :S
Jeg er lidt newb så hjælp please :D
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:24 #9
Ved ikke rigtigt hvad jeg skal hjälpe med når du ikke kommer med en fejlmeddelse.
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:26 #10
Funktionen sätter du mellem dine <head></head>
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:26 #11
Kom med din kode.
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:28 #12
<html>
<head>
<script type="text/javascript">
         
    function insertTag(frmElm,startTag,endTag) {
    if (typeof frmElm.selectionStart == "number") {
          selectedtext =

startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
          frmElm.value =

frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.sele

ctionEnd);
    }
    else if (document.selection) {
            frmElm.focus();
            r = document.selection.createRange();
            r.text = startTag+r.text+endTag;}
    else frmElm.value += startTag+endTag;
}
 
</script>
</head>
<body>
</body>
<a href="#" onclick="insertTag(document.form1.tekst,'<i>','</i>');">Italic (Kursiv

tekst)</a>
<textarea name="tekst" id="tekst"></textarea>
</html>
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:35 #13
<html>
<head>
<script type="text/javascript">
         
    function insertTag(frmElm,startTag,endTag) {
    if (typeof frmElm.selectionStart == "number") {
          selectedtext =

startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
          frmElm.value =

frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.sele

ctionEnd);
    }
    else if (document.selection) {
            frmElm.focus();
            r = document.selection.createRange();
            r.text = startTag+r.text+endTag;}
    else frmElm.value += startTag+endTag;
}
 
</script>
</head>
<body>
<form name="form1" method="post" action="dinside.html" id="form1">
<a href="#" onclick="insertTag(document.form1.tekst,'<i>','</i>');">Italic (Kursiv tekst)</a>
<textarea name="tekst" id="tekst"></textarea>
</form>
</body>
</html>

Ikke testet
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:38 #14
virker ikke i firefox, har ikke testet i IE
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:48 #15
ser at der er et mellemrum her:

frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.sele

ctionEnd);

som ikke skal väre der.
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:48 #16
Kan det ikke også laves med en input type="button" og ikke et link?
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:49 #17
nu har jeg fået det til at virke med et input i IE, tester det lige i firefox
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:50 #18
Det virker i FF
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:50 #19
Yep har lige testet det, du skal have rigtigt mange tak!!! smid et svar og du får dine point!!!!
Avatar billede michael_stim Ekspert
24. marts 2006 - 21:52 #20
Värsgo ;o)
Avatar billede zacho112 Nybegynder
24. marts 2006 - 21:59 #21
Hvis jeg får problemer, må jeg så godt kontakte dig ? :P
Avatar billede michael_stim Ekspert
24. marts 2006 - 22:01 #22
Tak for point. Man må ikke kontakte nogen her personligt, men det er bare at oprette et spörgsmål. Der er mange her der kan hjälpe ;o)
Avatar billede zacho112 Nybegynder
24. marts 2006 - 22:04 #23
OKay
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