Avatar billede rudi1234 Nybegynder
15. december 2003 - 17:00 Der er 1 kommentar og
1 løsning

Textarea - formatering af markeret tekst

Jeg har fundet denne kode til en enkel WYSIWYG:

<html>
<head>
<script type="text/javascript">
function scrollTA() {
  document.all.ta.scrollTop = 100;
}

function formater(tag) {
  elm = document.createElement(tag);
  elm.innerHTML = "Formateret";
  document.all.ta.appendChild(elm);
}

function billede() {
  elm = document.createElement("img");
  elm.src = "http://www.eksperten.dk/img/eksperten_logo.gif";
  document.all.ta.appendChild(elm);
}
</script>
</head>
<body onload="scrollTA();">
<form>
<textarea name="ta" id="ta" cols="40" rows="15">Bla bla bla</textarea><br /><br />
<a href="#" onclick="formater('b'); return false;">Fed</a> <a href="#" onclick="formater('i'); return false;">Kursiv</a> <a href="#" onclick="formater('u'); return false;">Understreget</a> <a href="#" onclick="billede(); return false;">Billede</a>
</form>
</body>
</html>

Men den kan ikke sætte formatering omkring en markeret tekst. Hvordan gør man det?
Avatar billede roenving Novice
15. december 2003 - 18:08 #1
document.selection.createRange().text er den markerede text, så:

function formater(tag) {
//  elm = document.createElement(tag);
//  elm.innerHTML = "Formateret";
//  document.all.ta.appendChild(elm);
  r = document.selection.createRange();
  txt = "<"+tag+">" + r.text+"</"+tag+">";
  r.innerHTML = txt;
}

-- har ikke selv prøvet (endnu !-), men ideen skulle være til at bruge !-)

-- ellers kig på http://msdn.microsoft.com efter textrange-objektet !o]
Avatar billede rudi1234 Nybegynder
02. februar 2004 - 20:39 #2
lukker
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