Undersøg om browser understøtter method

Tags:    javascript

Hvordan tester jeg om method checkValidity() understøttes af browseren før jeg bruger den ?

Koden er noget i denne stil.
Fold kodeboks ind/udJScript kode 


Men i Firefox returner checkValidity() altid true som er forkert så vil genre kunne teste så koden kun udføres hvis checkValidity() method er understøttet.



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Du kan teste det med følgende kode,
Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 05.10.2011 18:28 af Bruger #15754
Skal man så bruge det sådan her eller hvad ?

Fold kodeboks ind/udJScript kode 


Forstår bare ikke i Firefox der returner checkValidity() true lige meget hvad... selvom den ikke understøtter det så vidt jeg kan se.

Og din kode supportsValidity() returner også altid true i Firefox.

Kan det være Firefox der bare sige at den understøtter det uden rent faktisk at gøre det ?



Vi kan starte med hvilken version af firefox du bruger, min understøtter det og det virker også (7.0.1).



Jeg har prøvet i Firefox 7.0.1 og Mozilla Nightly 10.0a1 hvor checkValidity() returner true selvom jeg indtaster noget ugyldigt i <input> feltet.

Er det ikke meningen at checkValidity() skal returner false hvis nu jeg indtaster 100 i dette felt : <input type="number" max="70"> ?

I Chrome der returner checkValidity() false hvis det indtastede er over 70.

Demo : http://scootergrisen.dk/test/test0091.html



Se http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29

checkValidity virker i Firefox men type number virker ikke. Trident og Gecko understøtter det ikke men WebKit og Presto gør.



Ok jeg tænkte bare at så ville checkValidity() jo returner false hvis browseren ikke understøtter typen.

Men så skal man først checke at browseren understøtter typen også derefter bruge checkValidity().

Det må så være fordi typen number bliver til typen text når browseren ikke understøtter den også er det indtastede gyldigt lige meget hvad fordi der ikke er stilt noget krav vil jeg tro.



t