12. april 2004 - 21:18Der er
14 kommentarer og 1 løsning
Dupliker opførsel fra edbpriser.dk
Hej eksperter
I forbindelse med et php-script der giver mulighed for at redigere poster i en database har jeg brug for en sorteringsmulighed. Jeg havde overvejet at man for en post i databasen skulle kunne vælge "Før", "Lig" eller "Efter" kombineret med en drop-down liste, hvor en af de øvrige poster fra databasen kan vælges.
Udfra denne information kan jeg godt strikke et php-script sammen, som kan sørge for selve sorteringen - men jeg mangler stadig at lave en formular der er tilpas brugervenlig. Jeg faldt så over edbpriser.dk, hvor de rent faktisk bruger en udmærket teknik i forbindelse med avancerede søgninger.
Hvis man kigger under Avanceret søgning, vil man se, at der kan klikkes på et billede, som ændres samtidig med at der kan vælges fra en drop-down menu ved siden af. Jeg har prøvet at kigge på kildekoden, men har ikke kunnet lave et simpelt fungerende eksempel udfra deres html-kode - er der nogen som evner at duplikere den opførsel og smide det ind i en formular?
Det er ikke helt, hvad jeg søger - synes det er lidt for omstændigt :-)
Det jeg gerne vil have er:
[en image-knap] [en drop-down menu]
hvor image-knap skifter mellem 3 "states" (Før, Lig og Efter) mens drop-down menu indeholder de resterende poster fra db-tabellen. Så du kan eks. vælge, at en post skal placeres "Før" + "Post 27" eller "Lig" + "Post 8" osv. Den del med knappen, der kan have 3 tilstande har de på edbpriser.dk - som beskrevet ovenfor - det er vel egentlig dén del der volder mig problemer!
De opdaterer åbenbart både billede og værdien af et hidden form felt - hvordan modificerer vi din udgave til at tage højde for det samme? Jeg er jo som sædvanlig mest interesseret i løsninger der også fungerer i andet end IE, så jeg er glad for, at du kritiserer/forkaster den oprindelige kode! Jeg er selv lidt af en kegle til JavaScript, så det er lidt hokus-pokus for mig... :-/
Hvis du umiddelbart kan se nogle problemer i denne kode - eller noget der kan optimeres, må du meget gerne smide nogle kommentarer! Og derudover må du også gerne smide et svar, så du kan få dine points :-)
Et par småting eller tre, den første vigtig, den anden brug af både pointer og hand og den tredje en misforståelse af javascript-pseudo-url'en, som _aldrig_ må bruges i andet end f.eks. href !-)
function chg(img) { var sortimgs = ['/images/button_before.gif','/images/button_equal.gif','/images/button_after.gif']; var i = (+document.getElementById('sortorder').value + 1) % sortimgs.length; img.src = sortimgs[i]; document.getElementById('sortorder').value = i; }
Jeg går udfra den første ting er det '+' du har smidt ind - er det en "høker" typecasting der konverterer fra string til numeric/integer?
Det med pointer vs. hand - er 'hand' ikke bare et eller andet skrammel fra, som ikke rigtigt benyttes?
Det med 'java script:' i kaldet af eventhandleren - det fik jeg fra et eller andet kode et sted på nettet - det virker da meget naturligt, at angive scriptsproget - men jeg så også et andet sted, at man skulle bruge et meta element til dette - er det bedre?
+'et er ganske rigtig en short-hand typecasting, som har den fordel at den gør arbejdet både for parseInt og parseFloat (hvilket selvfølgelig også kan være en bagdel i nogle tilfælde !-)
Hand er ganske rigtigt noget gammelt M$-skrammel, men da det først er IE6, som har pointer implementeret, kan man jo ligeså godt forholde sig til virkelighedens verden, der er jo stadig 1/5 som ikke har en rigtig browser eller bruger IE6 ...
java script: er en pseudo-fil-protokol, men en protokol på samme måde som f.eks. http:// eller ftp:// og så bliver sammenhængen vist tydelig, den har selvsagt _intet_ at gøre som sprog-forklarer i en javascript-event !-)
-- og det var ikke en fejl, at jeg kaldte det en javascript-event, for det er det, det er defineret som i html-standarden ...
-- events er defineret som javascript-events, så det er selvfølgelig fuldstændigt overflødigt at sætte en fil-protokol på, og det ganske uanset, at visse browsere gerne vil overlade disse events til andre script-sprog
Ja, jeg foretrækker, at det er E* der bruges, men min mail er ikke spor hemmelig og kan findes både i min profil her og på ebruger ...
-- og tak for point ;~}
Synes godt om
Ny brugerNybegynder
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.