Gå til innhold

Noen Java guruer her?


Dag Johansen

Anbefalte innlegg

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 ]

Lenke til kommentar
Del på andre sider

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="
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 ]

Lenke til kommentar
Del på andre sider

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.

Lenke til kommentar
Del på andre sider

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

Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet …

×   Du har limt inn tekst med formatering.   Fjern formatering

  Only 75 emoji are allowed.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere innhold har blitt gjenopprettet.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Opprett ny...