Avatar billede nimrod1 Nybegynder
11. april 2002 - 13:42 Der er 22 kommentarer og
1 løsning

Hvorfor bliver siden reloadet ved kald af javascript?

Når jeg fx bruger <A href=# onclick=playsound() osv ... ></A> i HTML, tager siden et reload i stedet for at nøjes med at hente det ønskede script. Bruger jeg i stedet <A href=java script:; onclick=playsound osv ... ></A> undgår jeg reload'et, men scriptet bliver ikke nødvendigvis (altid) aktiveret.

Eksempel:

<A HREF="java script:;" onClick="playSound()" onFocus="this.blur()">
<IMG SRC="side2-filer/logogaf116.jpg" BORDER="0" WIDTH="116" HEIGHT="117" ALIGN="right" ALT="Kammertonen A"></A>

Alternativt, når jeg vælger, at bruge en inputknap fungerer det udmærket, hvis jeg bruger en regulær knap, når jeg kalder scriptet:

<form>
<INPUT TYPE="button" VALUE="Click to play sound" onclick="playSound()">
</form>

... Men ikke, hvis jeg bruger en billed-knap:

<form>
<INPUT TYPE="image" onclick="playSound()" SRC="Side2-filer/logogaf116.jpg">
</form>


Det kaldte script er under alle omstændigheder:

<script>
function playSound() {
  document.all.sound.src="klaverlyd.wav"
}
</script>

Hvad går der galt?


På forhånd tak for svaret
Avatar billede minijensen1 Nybegynder
11. april 2002 - 13:44 #1
du skal skrive <a href="#" ...
Avatar billede minijensen1 Nybegynder
11. april 2002 - 13:45 #2
hov .. det var jo også det du skrev i den første ..
har du prøvet med <a href="#" OnClick="java script:playSound();"> ... </a> ..?
Avatar billede nikolajdu Nybegynder
11. april 2002 - 13:48 #3
<A HREF="java script:playSound();" onFocus="this.blur()"> ????
Avatar billede nimrod1 Nybegynder
11. april 2002 - 14:01 #4
Desværre den funkede ikke... Jeg prøvede også <a href="java script:;" OnClick="java script:playSound();">. Også negativt.

Yderligere kommentar: Dit forslag aktiverer godt nok scriptet, men sender den stadig op til toppen...

Men ellers tak for indsparket. Andre forslag?
Avatar billede nimrod1 Nybegynder
11. april 2002 - 14:12 #5
nikolajdu: Det gav en regulær fejlmelding ("Objekt ventet...")
Avatar billede minijensen1 Nybegynder
11. april 2002 - 14:13 #6
hmm .. et vildt gæt .. du kan måske prøve med <a href="java script:return false;" OnClick="java script:playSound();"> ..
Avatar billede mrr Nybegynder
11. april 2002 - 14:18 #7
har du prøvet at skrive:

<a href="java script:playSound();" target="_self"> ... </a>
Avatar billede nimrod1 Nybegynder
11. april 2002 - 14:23 #8
minijensen: En tilsvarende fejlmelding ("Objekt ventet...")
Avatar billede nimrod1 Nybegynder
11. april 2002 - 14:24 #9
mrr:Fejlmelding...
Avatar billede nimrod1 Nybegynder
11. april 2002 - 14:30 #10
Jeg har lige et indskud fra sidelinjen til minijensen1, nikolajdu og mrr og øvrige. Send jeres forslag, som "svar" i stedet for "kommentar". Ellers kan jeg ikke acceptere svaret (og give jer point). ;-)
Avatar billede minijensen1 Nybegynder
11. april 2002 - 14:46 #11
hvad siger den hvis du bruger <IMG SRC="side2-filer/logogaf116.jpg" BORDER="0" WIDTH="116" HEIGHT="117" ALIGN="right" ALT="Kammertonen A" onClick="playSound();"> ..? eller det samme bare med java script:playSound(); ..?
Avatar billede Slettet bruger
11. april 2002 - 14:51 #12
<a href="java script:void(0);" onClick="playSound();"><img bla bla></a>
Avatar billede nimrod1 Nybegynder
11. april 2002 - 14:58 #13
minijensen1: Ingen af dem gav gevinst. Jeg begynder at få en mistanke om at fejlen kan ligge andetsteds. Fx i IE's internetstillinger...
Avatar billede nimrod1 Nybegynder
11. april 2002 - 15:04 #14
magik: Hvis jeg bruger "void(0);", kommer den med fejlmelding ("Objekt ventet..."). Tilsvarende "void();"
Avatar billede Slettet bruger
11. april 2002 - 15:08 #15
Underligt. Jeg bruger det flere steder for at slippe for at browseren scoller op til toppen af siden.
Avatar billede nimrod1 Nybegynder
11. april 2002 - 15:10 #16
Magik: Har du et "kørende" eksempel?
Avatar billede Slettet bruger
11. april 2002 - 15:15 #17
Min webhotel-udbyder har flyttet mit website over på en anden server, så jeg kan pt. ikke uploade min side, men du kan prøve:

http://www.magik.dyndns.dk/test/vis_guide.asp?id=2 (min egen computer).
Avatar billede jakoba Nybegynder
11. april 2002 - 15:20 #18
det korrekte er at returnere false fra onckick handleren, så bliver linkets href slet ikke brugt.

<A HREF="min tante hedder mathilde" onClick="playSound();return false" onFocus="this.blur()">
<IMG SRC="side2-filer/logogaf116.jpg" BORDER="0" WIDTH="116" HEIGHT="117" ALIGN="right" ALT="Kammertonen A"></A>

Den skulle virke.

mvh JakobA
Avatar billede nimrod1 Nybegynder
11. april 2002 - 15:21 #19
magik: Den ser rimelig ud. Jeg vender tilbage om fem minutter.
Avatar billede olebole Juniormester
11. april 2002 - 15:30 #20
<ole>
Der er ingen grund til at anvende 'href="java script:void(0);"' ... det er en misforstået brug af JavaScript pseudo-protokollen.
Blot returner false i onclick-handleren, som jakoba foreslår. Det er både mere elegant og bedre i overensstemmelse med hensigten med syntaksen - og event-handlernes tiltænkte brug  ;o)
/mvh
</bole>
Avatar billede nimrod1 Nybegynder
11. april 2002 - 15:43 #21
Jakoba: Ok du har vundet en cigar (40 point).
Ole: Tak for kommentaren.
Avatar billede nimrod1 Nybegynder
11. april 2002 - 15:48 #22
Magik og Minijensen1: Tak for jeres feedback. Det var svært at vælge. Jeg valgte jakoba's svar på grund af Olebole's kommentar. Men Magik's løsning virkede også brugbar.

Til alle:
Hermed lukker jeg spørgsmålet. Tak for jeres respons.
Avatar billede olebole Juniormester
11. april 2002 - 16:29 #23
... anytime  ;o)
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