Avatar billede googolplex Novice
01. marts 2004 - 19:18 Der er 19 kommentarer og
2 løsninger

Windows' formular-felts rullemenu og JavaScript

Hvis man begynder at skrive noget i et text-felt i en formular, så popper der ofte en lille rullemenu frem nedenunder feltet, med forslag baseret på de ting man tidligere har skrevet. Hvis man bruger denne rullemenu til at putte noget i feltet, hvordan 'opdages' dette så af JavaScript ?! onchange eller ?

Jeg har en ubehagelig fornemmelse af, at JavaScript slet ikke kan 'se' dette :(
Avatar billede thesurfer Nybegynder
01. marts 2004 - 19:22 #1
Ja, onchange
Har du prøvet det?
Avatar billede thesurfer Nybegynder
01. marts 2004 - 19:25 #2
du kan prøve med: onchange="alert('skiftet!');"
Så skulle du gerne kunne se om det virker..
Avatar billede mm12010 Nybegynder
01. marts 2004 - 19:25 #3
jeg tror dette er noget af det tætteste du kommer:

http://www.phoenixv.dk/arkiv.html >> Formularer >> Dynamisk select-boks
Avatar billede googolplex Novice
01. marts 2004 - 19:26 #4
Ja, det virker ikke :(
Avatar billede mm12010 Nybegynder
01. marts 2004 - 19:27 #5
ahh, sorry - havde ikke læst dit spg ordentligt...
Avatar billede googolplex Novice
01. marts 2004 - 19:29 #6
mm1210: Ja, det er smart. Men jeg ville egentlig bare vide om JavaScript på nogen måde kan 'opdage' at et felt ændrer sig på denne måde?

Jeg har lavet mit system således:

http://googolplex.dk/formtest2.php

Men hvis du smider noget ind via den der windows rullemenu, så ser JavaScript det ikke og feltet valideres ikke korrekt. Lidt irriterende, når nu alt andet virker :( Det valideres selvfølgelig på onblur, men jeg ville hellere at den blev valideret øjeblikkeligt.

Nogen der ved om det KAN lade sig gøre ?
Avatar billede mm12010 Nybegynder
01. marts 2004 - 19:30 #7
onchange indtræder det øjeblik feltet midster fokus(onblur) og værdien ikke er den samme som da det fik fokus(onfocus)
Avatar billede mm12010 Nybegynder
01. marts 2004 - 19:37 #8
en (ganske utestet og sikkert 'tung') mulighed kunne være at validerer med 1 sek's interval fra onfocus til onblur...?-)

<input type="text" name="fornavn" value="" maxlength="50"  onblur="jjrValidate(this, /^[-a-zA-Z ]{2,50}$/, 'iconid2', 'Feltet \47fornavn\47 er ikke udfyldt korrekt!');clearInterval(tester);" onchange="jjrValidate(this, /^[-a-zA-Z ]{2,50}$/, 'iconid2', 'Feltet \47fornavn\47 er ikke udfyldt korrekt!')" onfocus="jjrValidate(this, /^[-a-zA-Z ]{2,50}$/, 'iconid2', 'Feltet \47fornavn\47 er ikke udfyldt korrekt!');tester=setInterval(\42jjrValidate(this, /^[-a-zA-Z ]{2,50}$/, 'iconid2', 'Feltet \47fornavn\47 er ikke udfyldt korrekt!'\42,1000);" onkeyup="jjrValidate(this, /^[-a-zA-Z ]{2,50}$/, 'iconid2', 'Feltet \47fornavn\47 er ikke udfyldt korrekt!')" /><img src="/no.gif" title="Feltet 'fornavn' er ikke udfyldt korrekt!" id="iconid2" />
Avatar billede googolplex Novice
01. marts 2004 - 19:37 #9
Ok, så hvis jeg har onblur, så er onchange ligegyldig :)

Men jeg går ud fra at JavaScript på ingen måde kan registrere det, hvis ændringen foregår via windows' rullemenu, er det korrekt ?
Avatar billede mm12010 Nybegynder
01. marts 2004 - 19:41 #10
ja og ja(99%)
Avatar billede mm12010 Nybegynder
01. marts 2004 - 19:43 #11
det skulle dog ikke undre mig om IE havde en aller anden 'smart' M$ IE-only event der kan fange den...
Avatar billede googolplex Novice
01. marts 2004 - 21:18 #12
Inde på surftown.dk har de et tilsvarende system når man tilmelder sig. Hvor kommer der ikke nogen windows rullemenu der ? Har det noget med feltets style at gøre ?
Avatar billede thesurfer Nybegynder
01. marts 2004 - 22:00 #13
Kan du ikke komme med et link, der er mere præcist?
Avatar billede googolplex Novice
01. marts 2004 - 22:06 #14
Jo:

http://www.surftown.dk/domain.asp?product_nick=large&

Så skal du lige gå to skridt videre, så kommer det.

Hvordan ser jeg egentlig deres stylesheet, den brokker sig når jeg prøver at kigge på den.
Avatar billede thesurfer Nybegynder
01. marts 2004 - 22:36 #15
2 skridt videre i hvilken retning? hvad skal jeg skrive/gøre?
Avatar billede roenving Novice
02. marts 2004 - 01:33 #16
Tjah, M$ har været der igen, men denne gang må man jo sige, at de har fat i den lange ende, da autocomplete i forvejen er en IE/windows-funktion !-)

-- jeg tror endda at det er en af de funktioner windows bruger IE til !o]

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/autocomplete.asp
Avatar billede googolplex Novice
02. marts 2004 - 10:15 #17
roenving: Genialt, så kan jeg bare slå det fra :P

JavaScript kan ikke registrere når noget bliver smidt i feltet via autocomplete vel ?

Smid et svar roenving :)

I to andre kan også smide et svar, så får I også lidt ekstra for ulejligheden :)
Avatar billede mm12010 Nybegynder
02. marts 2004 - 10:27 #18
svar :-)
Avatar billede thesurfer Nybegynder
02. marts 2004 - 16:17 #19
Nej, tak. :)
Avatar billede roenving Novice
02. marts 2004 - 17:45 #20
Jeg har et umiddelbart gæt på, at man kan opbygge noget ved at tage fat i de events, som er nødvendige til at vælge i autocomplete-boxen, men jeg gider ik' li'e bevæge mig ud af den tangent, så jeg har ikke kigget efter ...

-- og velbekomme '-)
Avatar billede roenving Novice
02. marts 2004 - 23:59 #21
-- og tak for points ;~}
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