/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Tabelrække skal sende videre til ny
Fra : Lars Olesen


Dato : 26-05-04 08:06

Jeg har lavet en tabel på:

<http://www.husklink.dk/ci/projects.php>

Hvis man klikker på en række farves den grøn. Men jeg vil gerne have den
til at sende videre til det aktuelle projekt - hvor linket findes under
subject. Det vil ikke være noget problem at smide id'er på rækkerne,
hvis det er nødvendigt.

Tænker at hvis man i den loop, jeg har lavet gennem rækkerne i tbody,
måske kan få fat i rækkens id (som bare kunne være det aktuelle projekts
id), så kunne man lave noget med:

top.location.href = 'projects.php?id=' + id;

Krav: javascriptet må ikke være inline.

--
Lars Olesen
Kan det gøres bedre? Struktur, navigation og brugervenlighed!
Betingelser findes på <http://www.fodboldenslegestue.dk>
Forslag afleveres inden 1. juli 2004

 
 
Martin Hintzmann And~ (26-05-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 26-05-04 08:44

Lars Olesen wrote:

>
> Hvis man klikker på en række farves den grøn. Men jeg vil gerne have den
> til at sende videre til det aktuelle projekt - hvor linket findes under
> subject. Det vil ikke være noget problem at smide id'er på rækkerne,
> hvis det er nødvendigt.
>
> top.location.href = 'projects.php?id=' + id;
>

Du mener window.location.href ik'? Du benytter jo ikke frames.

> Krav: javascriptet må ikke være inline.
>

Bad move

Det her har jeg diskuteret til hudløshed med en af mine kollegaer.

Jeg mener at det er en dårlig bruger grænseflade, hvis man bruger
javascript på tr-elementet, som ved klik går til en anden side.

Husk på at du laver en *WEB* -applikation og ikke en
windows-applikation. Links er links og det er brugerne vant til.

Du fjerne også mulighed for at du senere hen kan lave 2 links per række,
som går til hver sin side.

Og hvad nu hvis brugere ønsker at klikke på tjeck-boksen, men rammer
lidt ved siden af?

Som din side er nu, hvad kan brugerne egentlig også bruge det til at når
de klikker på tr-elementet så farves det grønt? ... til ingenting.
Hvis det er for at lave en læse linie, så vil alternate color, være til
meget mere hjælp.

Så mit råd er at drop det

Blot mine 25 ører

Hintzmann c",)

Lars Olesen (26-05-2004)
Kommentar
Fra : Lars Olesen


Dato : 26-05-04 08:55

Martin Hintzmann Andersen wrote:

> Du mener window.location.href ik'? Du benytter jo ikke frames.

Jep, det mener jeg :)

>> Krav: javascriptet må ikke være inline.
>
> Bad move

Du mener "smart move" til den kommentar, du svarer på :) Altså at
javascript ikke skal være i eventhandlers i selve xhtml'en.

> Jeg mener at det er en dårlig bruger grænseflade, hvis man bruger
> javascript på tr-elementet, som ved klik går til en anden side.
>
> Husk på at du laver en *WEB* -applikation og ikke en
> windows-applikation. Links er links og det er brugerne vant til.

Ja, det ved jeg godt. Men systemet skal primært bruges af mig selv, og
jeg ville gerne se, hvordan man gjorde :) Om jeg bibeholder det, er ikke
sikkert?

> Du fjerne også mulighed for at du senere hen kan lave 2 links per række,
> som går til hver sin side.

Well, så fjerner jeg jo bare javascriptet. Det er ret let, når det ikke
er inline!

> Og hvad nu hvis brugere ønsker at klikke på tjeck-boksen, men rammer
> lidt ved siden af?

Det kan du have ret i :) Måske dropper jeg det netop af den grund?

> Som din side er nu, hvad kan brugerne egentlig også bruge det til at når
> de klikker på tr-elementet så farves det grønt? ... til ingenting.
> Hvis det er for at lave en læse linie, så vil alternate color, være til
> meget mere hjælp.

Det kan de sandelig ikke bruge til noget - andet end så har jeg prøvet
at lave det :) Blev egentlig brugt i en version med iframes, hvor det
var meget smart at se, hvilken der var fremhævet, men så gik jeg væk fra
iframes!

> Så mit råd er at drop det

Well, det kan også sagtens være, at jeg gør det :) Men du ved vel ikke,
hvordan man laver det :)

> Blot mine 25 ører

Tak for dem!

--
Lars Olesen
Kan det gøres bedre? Struktur, navigation og brugervenlighed!
Betingelser findes på <http://www.fodboldenslegestue.dk>
Forslag afleveres inden 1. juli 2004

Martin Hintzmann And~ (26-05-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 26-05-04 10:54

Lars Olesen wrote:
>
> Du mener "smart move" til den kommentar, du svarer på :) Altså at
> javascript ikke skal være i eventhandlers i selve xhtml'en.
>

Det er smart at indhold og funktionalitet er adskilt, uden tvivl, men
det var nu mere til det du genrelt ønskede at lave.

>
> Well, det kan også sagtens være, at jeg gør det :) Men du ved vel ikke,
> hvordan man laver det :)
>

Du opbygger dine tabel rækker på følgende måde.

<tr>
<td>bla</td>
<td>bla bla</td>
<td><a href="?id=128">blah</a></td>
<td>bla bla bla</td>
</tr>

I din tabel fra tbody bruger du document.getElementsByTagName("tr") og
den looper du igennem. Under den skal du så bare have fat i dit link -
document.getElementByTagName("a") ... umiddelbart skulle der gerne kun
være et link.
Udfra linket aflæser du href attributten og bruger i din
window.location.href

Så er spørgsmålet om du skal sætte den på tr eller samtlige td... Jeg
tror du må prøve dig frem.

Kode vil se ud ala nedenstående (ikke testet)

var oTabel = document.getElementById("TABELLENS_NAVN");
var oTbody = oTabel.getElementsByTagName("tbody")[0];
var aTr = oTbody.getElementByTagName("tr");

for (var x=0; x<aTr.length; x++)
{
var oLink = aTr[x].getElementByTagName("a")[0];
var sHref = oLink.href;

// enten
aTr.onclick = function() {window.location.href = sHref;}

// eller
var aTd = oTbody.getElementByTagName("td");
for (var z=0; z<aTd.length; z++) {
aTd.onclick = function() {window.location.href = sHref;}
}
}

Som sagt er det ikke testet og der er ikke lavet kontroller, såsom om
der findes en tabel/tbody/tr/a[0]/td.

Hintzmann c",)



Lars Olesen (26-05-2004)
Kommentar
Fra : Lars Olesen


Dato : 26-05-04 22:51

Martin Hintzmann Andersen wrote:

> Som sagt er det ikke testet og der er ikke lavet kontroller, såsom om
> der findes en tabel/tbody/tr/a[0]/td.

Bortset fra en enkelt stavefejl virker det :) Jeg havde slet ikke tænkt
på, at jeg bare kunne tage indholdet af en a, og så var jeg kørende. Men
efter at have implementeret det, ser jeg problemer når der er
checkbokse, for så skifter den, selvom man rammer helt præcist i
checkboksen. Løsningen må være kun at have en onlick på td'er, som ikke
har en child, der hedder input?

--
Lars Olesen
Kan det gøres bedre? Struktur, navigation og brugervenlighed!
Betingelser findes på <http://www.fodboldenslegestue.dk>
Forslag afleveres inden 1. juli 2004

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste