Avatar billede jara06 Nybegynder
18. oktober 2005 - 01:41 Der er 6 kommentarer og
1 løsning

forkert onclick action ?

hejsa.

Jeg har en forholdsvis simpel html side, der lister data i en tabel.
på hver <tr> har jeg en onclick der redirecter til en underside, nu er problemet så jeg også har en kolonne med checkboxes (med henblik på en multi markering). Hvis jeg klikker på en af disse checkboxes reagere min <tr onclick> også.
Bør jeg sætte en "return false" på en onclick på hver checkbox eller .. ?  Nogen forslag ?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
    <link rel="stylesheet" href="./common.php" type="text/css" media="screen" />
    <title>test</title>
</head>
<body>

<table class="dataResultsMain">
    <tr class="dataResultsHeading"><th>&nbsp;</th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=user_id" title="Klik her for at sortere efter `ID`">ID</a></th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=name" title="Klik her for at sortere efter `Navn`">Navn</a></th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=active" title="Klik her for at sortere efter `Aktiv`">Aktiv</a></th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=email" title="Klik her for at sortere efter `Email`">Email</a></th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=logins" title="Klik her for at sortere efter `Logins`">Logins</a></th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=last_login" title="Klik her for at sortere efter `Sidst login`">Sidst login</a></th><th align="right"><a href="/blop.php?ordering=asc&amp;type=all&amp;Sort=last_ip" title="Klik her for at sortere efter `Sidst ip`">Sidst ip</a></th></tr>
    <tr class="dataResultsRowEven" onmouseover="this.className='dataResultsRowHover';" onmouseout="this.className='dataResultsRowEven';" onclick="java script:document.location.href='./show_user.php?id=4';" > <td onclick="java script:return false;"><input type="checkbox" name="idting[]" value="4" /></td>  <td align="right"><a href="./show_user.php?id=4" >4</a></td><td align="right"><a href="./show_user.php?id=4" >test konto4</a></td><td align="right"><a href="./show_user.php?id=4" >1</a></td><td align="right"><a href="./show_user.php?id=4" >blop@domain.com</a></td><td align="right"><a href="./show_user.php?id=4" >3</a></td><td align="right"><a href="./show_user.php?id=4" >13:59 13/10 '05</a></td><td align="right"><a href="./show_user.php?id=4" >192.168.1.10</a></td></tr>
</table>

</body>
</html>
Avatar billede olebole Juniormester
18. oktober 2005 - 02:00 #1
<ole>

Så skal du bare checke, hvorfra klikket stammer (og slet i øvrigt den ulovlige brug af JavaScript pseudo-protokollen):
  onclick="bla('./show_user.php?id=4',event)"

- og så:

function bla(url,e) {
  var srcElm = e.srcElement ? e.srcElement : e.target;
  if (srcElm.tagName.toLowerCase()!="input") document.location.href = url;
}

/mvh
</bole>
Avatar billede olebole Juniormester
18. oktober 2005 - 02:06 #2
Hvorfor i øvrigt skrive XHTML, når det ikke kan bruges på WWW? Det eneste, du har ud af det, er at genere dine brugere med en kode, deres browsere tolker som fejlfyldt HTML  :)

Derudover performer det elendigt at skifte CSS-klasse på elementer. Hvergang en klasse skiftes, begynder browseren helt forfra og genberegner hele dokumentet. Ved lidt mere komplekse koder, kan det tage flere sekunder.
Skift i stedet kun de enkelte style-properties på elementet. Det er en langt bedre løsning  :)
Avatar billede jara06 Nybegynder
18. oktober 2005 - 02:08 #3
må ændre mit objekt lidt, men går med dit forslag der (ville helst undgå selvstændig function, derfor jeg spurgte ;)

smid svar og du skal blive forgyldet :D
Avatar billede jara06 Nybegynder
18. oktober 2005 - 02:14 #4
så lige din msg nr 2.
Ja, jeg ved det performer ekstremt dårligt og det skal også laves om snart (faktisk næsten al output).
Det er en htmlList klasse (fra nettet) jeg har modificeret en del, til at holde nogle flere features. Jeg er ikke helt færdig med 'ombygningen' endnu, men multiselect stod højere på listen ;)
Avatar billede olebole Juniormester
18. oktober 2005 - 03:06 #5
mja ... du _behøver_ ikke skrive det i en funktion, men det gør jo koden en hel del mere 'sexy' at gøre det  :)

Vedr. XHTML vil jeg anbefale dig de her to:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538
Avatar billede jara06 Nybegynder
18. oktober 2005 - 13:17 #6
Det modtaget! ;)
Avatar billede olebole Juniormester
18. oktober 2005 - 19:40 #7
Tak for points  ;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