Avatar billede dottie Nybegynder
24. maj 2005 - 13:31 Der er 14 kommentarer og
1 løsning

Indsætte smilie, kun 1 pr. meddelelse

Hej Eksperter

Jeg er igang med at lave lidt ekstra til tinychat, bl.a. smilies.

Jeg har lavet en række smilies, som ved klik på smilien, indsættes i tekstfeltet.

Med denne kode (en for hver smilie):
<a href="java script: void(0)" onclick="document.sendForm.temp.value += ' :-) '">
<img src="/chat/smilies/smile1.gif" border="0"></a>

Men da jeg ikke gider folk, som "spammer" chatten med smilier,
så vil jeg gerne begrænse det til 1 smilie pr. meddelelse.

Altså en slags tæller
if tal>1
{alert("Du må kun bruge 1 smilie pr. linie");}

Hvordan laver jeg dette?

Håber nogle kan hjælpe med dette problem, da jeg ikke selv
kan finde ud af javascript.

Med venlig hilsen
Dottie
Avatar billede thesurfer Nybegynder
24. maj 2005 - 13:35 #1
onclick="t = document.sendForm.temp; if(t.value.indexOf(':-)') < 0) t.value += ' :-) '"
Avatar billede thesurfer Nybegynder
24. maj 2005 - 13:36 #2
Eller med en alert(..):

onclick="t = document.sendForm.temp; if(t.value.indexOf(':-)') < 0) { t.value += ' :-) ' } else { alert('Du må kun bruge 1 smilie pr. linie'); } "

Pas på med ' og " tegn..
Avatar billede dottie Nybegynder
24. maj 2005 - 13:44 #3
thesurfer, det virker næsten som jeg ønskede.

Men det kan stadig lade sig gøre, at lave flere forskellige smilier i samme linie.

Jeg vil gerne have alertboxen til at poppe up, også ved forskellige smilier
Avatar billede roenving Novice
24. maj 2005 - 13:48 #4
Vel smartest at lave en lille kodeblok, hvor en variabel testes !-)

<script type="text/javascript">
var smiled = false;
function insertSmilie(smilie){
if(!smiled){
  document.sendForm.temp.value += smilie;
  smiled = true;
}else{
  alert("Du må kun bruge 1 smilie pr. linie");
}
}
</script>

-- så kan kaldene også forenkles ganske betydeligt:

<a href="#" onclick="insertSmilie(' :-) ');return false;"><img src="/chat/smilies/smile1.gif" border="0"></a>
Avatar billede dottie Nybegynder
24. maj 2005 - 13:55 #5
roenving, dit svar virker helt perfekt.

Tusind tak for hjælpen.

roenving læg et svar, pointene må være dine,
da du gav den helt rigtige løsning på problemet.
Avatar billede thesurfer Nybegynder
24. maj 2005 - 13:59 #6
Hmm.. burde det her ikke virke?: if(t.value.indexOf(':-)') < 0)

Man burde kunne bruge "< 0", hvilket (vel?) opfører sig på samme måde, som " == -1".. eller hva'?
Avatar billede thesurfer Nybegynder
24. maj 2005 - 14:00 #7
Ahh... ok.. "flere forskellige smilier".. :-)
Avatar billede dottie Nybegynder
24. maj 2005 - 14:02 #8
Kunne du måske også lige hjælpe en en ekstra lille ting i den forbindelse?

Hvis man fortryder sin smilie og trykker slet, så husker den stadig at man har trykket på en smilie.

Kan man lave en funktion på slet-knappen, som sætter var smiled = false igen?

Jeg forsøgte med dette:
function slet()
{var smiled = false;}

Men det virker ikke
Avatar billede roenving Novice
24. maj 2005 - 14:05 #9
Fjern var-tingen !-)

function slet(){
  smiled = false;
}

-- og velbekomme '-)
Avatar billede dottie Nybegynder
24. maj 2005 - 14:09 #10
Tusinde tak for hjælpen roenving.
Jeg er da glad for, at jeg ikke var helt i skoven med mit forslag
til fjernelse af var.

thesurfer, tak for din hjælp også, selvom jeg ikke kunne bruge dit forslag.
Avatar billede thesurfer Nybegynder
24. maj 2005 - 14:11 #11
Det var da så lidt :-)
Avatar billede dottie Nybegynder
24. maj 2005 - 14:12 #12
roenving, eksperten vil ikke give point til dig......

Jeg trykker på Accepter, siden opdaterer, men
Avatar billede dottie Nybegynder
24. maj 2005 - 14:12 #13
nu godtog den det
Avatar billede thesurfer Nybegynder
24. maj 2005 - 14:17 #14
Man skal markere navnet i boksen først.. noget ny der kom i version 4 af Eksperten (siden ca 12. januar 2004).. :-)

Der kom en del nye ting, men man blev ikke informeret om dem..
Avatar billede roenving Novice
24. maj 2005 - 14:18 #15
-- og tak for point ;~}
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