Avatar billede morteeart Nybegynder
01. september 2004 - 20:03 Der er 6 kommentarer og
1 løsning

Brugen af document.execCommand()

HEj


nogen som kan forklare mig brugen af document.execCommand()
til f.eks. at gøre tekst fed eller kursiv.
Avatar billede ldanielsen Nybegynder
01. september 2004 - 20:20 #1
ja

<INPUT TYPE="button" VALUE="Fed" onClick="document.execCommand('Bold');">
<INPUT TYPE="button" VALUE="Kursiv" onClick="document.execCommand('Italic');">
<div style="text-align: left;
        border: 1px solid black;
        width: 200px; height: 200px;"
        contentEditable="true"></div>

Dette er en meget lille html-editor. Du skal have en div eller andet, hvor contentEditable="true", og så skal markere noget af teksten op med musen inden du klikker.

Ctrl + b gør i øvrigt det samme som document.execCommand('Bold')
Avatar billede morteeart Nybegynder
01. september 2004 - 20:22 #2
okay, men hvis vi nu forstiller os at det er et textarea, kommer det så <b> og </b> med i outputtet når det står i en <form> ?

eller kan/skal det gøres på en anden måde ?
Avatar billede ldanielsen Nybegynder
01. september 2004 - 20:31 #3
Du kan ikke bruge et textarea til det, men du kan flytte koden over i et andet felt, hidden eller textarea
<form>
<INPUT TYPE="button" VALUE="Fed" onClick="document.execCommand('Bold');flytKode(this.form);">
<INPUT TYPE="button" VALUE="Kursiv" onClick="document.execCommand('Italic'); flytKode(this.form);">
<div id="theEditor" style="text-align: left;
        border: 1px solid black;
        width: 200px; height: 200px;"
        contentEditable="true"></div>
<br><textarea name="htmlKode"></textarea>
</form>
<script language=JavaScript>
function flytKode(objForm){
  objForm.htmlKode.value = document.getElementById("theEditor").innerHTML;
  }
</script>
Avatar billede ldanielsen Nybegynder
01. september 2004 - 20:35 #4
som du ser, er det innerHTML i div'en der indeholder koden, usynligt for dig.

I praksis ville jeg nok vælge at køre flytKode sådan: <form onSubmit="flytKode(this);">
Den behøver jo ikke at køre før der skal sendes.

Og jeg ville vælge at lave <textarea name="htmlKode"></textarea> om til <input type=hidden name="htmlKode">, jeg syntes bare at du skulle se hvad der sker
Avatar billede morteeart Nybegynder
01. september 2004 - 20:37 #5
nice :-)

læg et svar, og pointsene er dine, Men en slutspørgsmål:

et det IE only ?
Avatar billede ldanielsen Nybegynder
01. september 2004 - 20:50 #6
Ved du hvad, det har jeg ikke undersøgt, jeg bruger det kun i "kontrolleret miljø", men mon ikke det er IE only?

Tusind tak!
Avatar billede morteeart Nybegynder
01. september 2004 - 20:52 #7
http://devedge.netscape.com/viewsource/2003/midas/01/example2-index.html

fandt lige noget som også virker i mozilla :-)

men tak for hjælpen
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