Avatar billede planetdb Nybegynder
09. maj 2002 - 19:30 Der er 8 kommentarer og
1 løsning

createRange(); og pasteHTML(); Problem...

Jeg har sådan set ikke et problem, men jeg ville bare vide hvorfor nedestående kode ikke rigtig fungerer som den skal...? Output bliver til <b>[object]</b> istedet for det reélle markeret tekst..

==============================
<script language="javascript">
<!--//
function makeBold(){
cObjekt = document.selection.createRange();
cObjekt.pasteHTML("<b>" + cObjekt + "</b>");
cObjekt.select();
}
//-->
</script>
==============================

Jeg har andre måder at kunne indsætte <b> på, såsom execCommand metoden, men som sagt ville jeg blot høre hvorfor ovenstående ikke virker..?
Avatar billede =maddog= Nybegynder
09. maj 2002 - 21:43 #1
function makeBold(){
cObjekt = document.selection.createTextRange();
cObjekt.pasteHTML("<b>" + cObjekt + "</b>");
cObjekt.select();
}
Avatar billede =maddog= Nybegynder
09. maj 2002 - 21:46 #2
vrøvl..
function makeBold(){
cObjekt = document.selection.createRange();
cObjekt.execCommand("bold",false,"");
cObjekt.select();
}
Avatar billede planetdb Nybegynder
09. maj 2002 - 22:04 #3
Hmm...Det er den metode jeg som sagt plejer at bruge, så det hjalp mig ikke rigtig så forfærdelig meget...:(

Det jeg ville var såment bare, at høre hvorfor den anden løsning ikke umiddelbart virker, og om der virkelig ikke er andre måder at indsætte <b> på, end med execCommand eller ".text"..!?
Avatar billede =maddog= Nybegynder
09. maj 2002 - 22:17 #4
hah. undskylder.
Avatar billede planetdb Nybegynder
09. maj 2002 - 22:25 #5
Det er sku' helt iorden!! :)
Avatar billede =maddog= Nybegynder
09. maj 2002 - 22:29 #6
har du prøvet at lave et
function testBold(){
cObjekt = document.selection.createTextRange();
alert("<b>" + cObjekt + "</b>");
}
for at se hvordan rutinen type-caster cObjekt?
Avatar billede =maddog= Nybegynder
09. maj 2002 - 22:45 #7
det er såfølgelig stadig createRange(). jeg bliver hele tiden snydt der fordi den returnere et TextRange objekt. alerten giver også <b>[object]</b>.
Du skal kalde text metoden i TextRange
<script language="javascript">
<!--//
function makeBold(){
cObjekt = document.selection.createRange();
cObjekt.pasteHTML("<b>" + cObjekt.text + "</b>");
}
//-->
</script>
det der virker
Avatar billede planetdb Nybegynder
10. maj 2002 - 08:52 #8
AHA!! Selvfølgelig! Takker for din hjælp! :)
Avatar billede =maddog= Nybegynder
10. maj 2002 - 08:56 #9
ikke noget problem, jeg blev jo også selv forvirret.
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