01. november 2010 - 05:41Der er
12 kommentarer og 1 løsning
Rulleliste - select ved dobbel klik
I en html rulleliste skal man foerst klikke paa et valget og derefter klikke paa en submit knap for at faa valget sendt videre i systemet. Det ville vaere smartere hvis man kunne vaelge og submitte paa en gang, for eksempel ved et dobbel-klik paa den valgte option. Kender nogen en metode dertil?
(Det er ingen kunst at definere doubleClick events i javascript, men jeg har specifikt brug for en der sender valget videre til behandling i naeste side.)
Tak for hurtigt svar. Jeg har brugt tiden siden du sendte det til at proeve det af, men jeg har ikke faaet det til at virke.
For illustration, her er en kode: <form action....> <select> <option value="green" /> <option value="blue" /> </select> </form>
Min event er ondblclick="submitForm()" der kalder en javascript funktion. For foerst at afproeve ondblclick satte jeg i funktionen simpel hen document.write("SUBMIT FORM"). Saa proevede jeg at placere dobbeltklikken paa skift i <form>, i <select>, og i <option>. Det viste sig at ondblclick ikke virker (eller jeg kunne ikke faa den til at virke) i <option/>. Det er maaske logisk fordi det foerste klik paa en option vaelger den og sender den tilbage til select. Derimod faar jeg ondblclick til at virke i <form> og i <select>, men det var ikke det jeg var ude efter. Naar foerst man har valgt sin option kan man lige saa godt klikke paa en submit knap som dobbelklikke paa selecten.
Saa er det mig der er for fantasifuld, eller kan du (eller andre) taenke paa andre metoder til ud fra en rulleliste at vaelge en option direkte?
splazz, det faar jeg ikke til at virke. Her er koden for formen med din kode indsat ($area bliver defineret tidligere paa siden.) Der sker intet ved dobbelklik. Har jeg misforstaaet noget? Koden virker efter hensigt naar jeg trykker paa submit knappen, saa jeg tror ikke det kan vaere noget med syntaksfejl i selve formen. (For oevrigt drejer det sig heller ikke her om dobbeltklik paa <option> som var det jeg var ude efter.)
det ser heller ikke ud til at virke medmindre man sætter size til mere end 1 på select'en - det er jo osse svært at dobbeltklikke på en option, for den forsvinder jo efter det første klik :)
Det var det (med dobbelklik paa en option) jeg opdagede (kom i tanker om) og kommenterede om i #3. Jeg var for fantasifuld.
Det som alligevel irriterer mig er at man foerst skal aabne rullelisten ved klik paa pilen, saa klikke paa en option, og saa klikke paa noget andet, normalt submit men muligvis dobbelklik paa selecten. Maaske skulle jeg eksperimentere med en liste i stedet for en rulleliste. I den applikation jeg arbejder med bliver listerne ikke saa lange at rulleliste er absolut noedvendig.
Jeg var ikke klar over at i html laves en listbox med samme kode som en rulleliste bortset fra attributen size. Det er jeg nu, og jeg har nu lavet en rulleliste om til en listbox og nu kan jeg dobbeltklikke paa de enkelte options.
Det er stadigvaek paa <select>, ikke paa <option> at dblclick eventen skal sidde. Men jeg kan stadig ikke submitte formen.
Jeg har proevet med din kode der ikke kalder en funktion:
Som funktionen staar nu skriver den SUBMIT FORM ved dobbelklik. Det beviser at funktionen kaldes og svarer. Men baade naar anden og tredje linie er aktiv faar jeg en gul trekant naar jeg dobbelklikker, og der sker ingenting. (Formen har baade id og navn som 'area'.
Splazz (eller andre), nogen ide om hvad der gaar galt?
Nu kan jeg ogsaa lave det. Og det irriterende er at jeg ikke rigtig ved hvad der er forandret. Jeg troede det maaske kunne vaere fordi jeg stadig havde en submitknap, saa jeg fjernede den. Og taenk, saa virkede det! Foer jeg konkluderede og fortalte hele verden at det var problemet indsatte jeg submitknappen igen, men det virkede stadig.
Men hvordan nu alting er, du har givet mig loesningen paa mit probolem. Laeg venligst et svar saa jeg kan kvittere med points.
Og saa maa jeg i gang med det at sende min indkoebskurv som email. Puha. Hvis jeg finder ud af det ogsaa saa har det vaeret en god dag.
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.