Dag Johansen Skrevet 17. april 2001 Skrevet 17. april 2001 Noen klagde over at disse hurtigvalgene av graemlins og UBB Kode setter disse inn i slutten av teksten, og ikke ved innsettingspunktet til cursoren. Java er noe jeg har lite peiling på, og jeg lurer på om det finnes en enkel måte å fikse dette på? Her er javasnutten som setter inn graemlins: code: function DoSmilie(addSmilie) { var revisedMessage; var currentMessage = document.REPLIER.message.value; revisedMessage = currentMessage+addSmilie; document.REPLIER.message.value=revisedMessage; document.REPLIER.message.focus(); return; Som dere ser plasseres smilet etter all tekst med currentMessage+addSmilie, og her skulle det vært noe annet som i stedet setter smilet inn der hvor cursoren står plassert. [ 17-04-2001: Endret av: Dag Johansen ] Siter
Øystein Eker Skrevet 17. april 2001 Skrevet 17. april 2001 Og jeg som trodde Java var kaffe, [image]images/icons/rolleyes.gif" border="0[/image] men nå er jeg en gamling uten peiling data.. [image]images/icons/grin.gif" border="0[/image] [image]images/icons/grin.gif" border="0[/image] Siter
Frode Danielsen Skrevet 17. april 2001 Skrevet 17. april 2001 Hei Dag, Strengt tatt er det egentlig JavaScript (eller ECMA script) kompetanse du er på jakt etter. Jeg er ikke en racer i dette, men jeg er redddet er umulig evt vil det kun fungere i IE. Siter
Eirik Sørensen Skrevet 18. april 2001 Skrevet 18. april 2001 Hei Dag Du kan forsøke følgende: 1. Legg til følgende script: code: function storeCaret (messageText) { if (messageText.createTextRange) messageText.caretPos = document.selection.createRange().duplicate(); } Når denne funksjonen kalles, lagres markørens posisjonen. Vær obs på tekstfeltet må ha fokus for at dette skal fungere. Jeg er for øvrig ikke helt sikker på om createTextRange vil fungere med Netscape. 2. Bytt ut DoSmilie med følgende script: code: function DoSmilie (messageText, text) { if (messageText.createTextRange && messageText.caretPos) { var caretPos = messageText.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else { messageText.value = text; } document.REPLIER.message.focus(); } Denne vil sette inn text ved markørposisjonen i tekstvinduet. 3. Bytt ut gramlinene med følgende kode (eksempel kun for første gremlin): code: <a href="javascript: x()" onClick="DoSmilie(document.REPLIER.message, ' ');"> <img width="15" height="15" src=" http://www.flightsim.no/ubb/images/icons/smile.gif" border="0" alt="Smil"> </a> 4. Legg inn kall til storeCaret på events i tekstvinduet: code: <TEXTAREA NAME="message" ROWS=10 COLS=60 WRAP="VIRTUAL" ONSELECT="storeCaret(this);" ONCLICK="storeCaret(this);" ONKEYUP="storeCaret(this);" > Jeg har ikke testet dette så mye og det lille jeg fikk testet var med IE 5.5. Men dersom Netscape skulle ha problemer med dette, burde det være mulig å komme rundt dette. Vel, du får se om du kan bruke noe av dette og evt. gjøre noen justeringer. Hilsen Eirik [ 19-04-2001: Endret av: Eirik Sørensen ] Siter
Dag Johansen Skrevet 19. april 2001 Forfatter Skrevet 19. april 2001 Takk skal du ha Eirik. Jeg skal gjøre et forsøk med dette i løpet av helgen. Siter
Dag Johansen Skrevet 1. mai 2001 Forfatter Skrevet 1. mai 2001 Desverre viste det seg at det fungerte i Explorer, men ikke i Netscape. I Netscape var resultatet at all tekst ble overskrevet av smilet... Dette er igrunn ikke noe stort problem, og hvis ingen har en "Netscape-løsning" tror jeg bare vi lar det være slik det er. Siter
Eirik Sørensen Skrevet 1. mai 2001 Skrevet 1. mai 2001 Neppe noe å bruke all verdens tid på, men skulle presset fra brukere bli for stort, kan jeg vel alltids forsøke å finne en løsning for Netscape. Inntil noen evt. starter en underskriftskampanje for "Smilies go home (to cursor)" og får med seg et par hundre underskrifter, forblir disse på sin post bak teksten. Men det er jo alltids mulig å skrive inn smiliene (eller graemlins heter det visst nå for tiden?!?) som i gode gamle dager [image]images/icons/wink.gif" border="0[/image] Hilsen Eirik Siter
Anbefalte innlegg
Bli med i diskusjonen!
Du kan poste innlegg nå og registrere deg senere. Hvis du har en brukerkonto kan du logge inn nå for å poste med din egen konto.