02. oktober 2005 - 16:50Der er
11 kommentarer og 2 løsninger
maker tekst i tekstfelt, klik på ikon - teksten bliver formateret
Jeg har en formular som indeholder en <textfield name="indhold" id="indhold"></textfield>
Nu vil jeg så gerne have det sådan at jeg kan makere en tekst som er i det tekstfeild, og klikke på eks. en rød farveklat/ikon, og så bliver den markeret tekst omkranset af <font color="#ff0000">min markeret tekst her</font> koden
Har set det i fungere i et eller andet CMS system, som ejg desværre ikke kan huske hvad hedder :-(
Nogen der har et bud på hvordan noget sådant opbygges ??
Vi starter med 100 point, og det kan hæves til 200 hvis der findes en løsning
Jeg har fået lavet nogle små ikoner som symbolisere eks. koden <b></b> men når jeg indsætter dem sådant her : <input type="image" src="/images/farver/lime.jpg" alt="Limefarvet tekst" onclick="insertTag(this.form.<?=$fieldname;?>,'[lime]','[/lime]');" />
så bliver formen hvor i de findes blot submittet :-(
Har så forsøgt med følgende måde : <img src="/images/farver/groen.jpg" alt="Grøn tekst" onclick="insertTag(this.form.<?=$fieldname;?>,'[green]','[/green]');" />
Og så får jeg blot denne her fejl : error : 'this.form.inhold' is null or not an object
<script language="javascript" 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.selectionEnd); } else if (document.selection) { frmElm.focus(); r = document.selection.createRange(); r.text = startTag+r.text+endTag;} else frmElm.value += startTag+endTag; } -->
</script>
mon ikke det er noget med at funktionen bruger "frmElm" (som jeg går ud fra står for "form element)og når nu jeg blot sætter det på et billede så er det ikke længere et form element....
nogen der kan omskrive det så det også vil funge med en onclik på et <img> tag ??
Hvis du vil bruge <input type="image"..> så prøv: <input type="image" src="dit_billede.jgp" onclick="insertTag(this.form.tekst,'<font color=green>','</font>');return false" > Ellers bliver din form submittet, som du jo har konstateret.
"error : 'this.form.inhold' is null or not an object" Har du dine felter i en <form></form> ?
Hvis du vil anvende <img> tag så brug: <img src='dit_billede.jgp' onclick='insertTag(document.getElementById("tekst"),"<font color=\"#ff0000\">","</font>");'>
-- ideen med at bruge input type=image er ganske udmærket, når blot man tager højde for, at den slags input er submit-knapper, så der skal tilføjes noget, der aflyser den handling, hvilket så udmærket klares med return false; !-)
-- og alternativet som psykochicken anfører er også ganske udmærket, men du skal selvfølgelig være specielt opmærksom på, at så er id'et meget nødvendigt på dit tag ...
-- og det er også nødvendigt at være opmærksom på, at skovenborgs eksempel er bygget på en slags 'pseudo-tags', som senere skal oversættes server-side, hvorfor du måske kan have mere gavn af den syntaks psykochicken benytter sig af, omend jeg altid vil anbefale at bruge andet end font, f.eks. spans !o]
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.