Appena imbattuto in qualcosa di strano in jQuery, mentre scrivevo un codice di convalida - Ho un campo "numero" html5;jQuery val si rifiuta di restituire un input non numerico da un campo numerico (Sotto Chrome)
<input type="number" class="required numeric" />
Il mio script esaminerà quindi tutti i campi della pagina controllando le classi e convalidando secondo necessità. Ho notato stranamente che se inserisco una "X" in uno dei miei campi numerici ottengo un errore "Si prega di inserire un valore in questo campo" invece di un errore "questo dovrebbe essere un numero". Dopo un po 'di grattacapi e un sacco di debugging ho buttato giù un jsFiddle per dimostrare la mia teoria- appare se inserisci un carattere in un campo numerico, quindi prova a fare un .val() da jquery non restituirà nulla, come se il il campo era vuoto (mi sono imbattuto in questo in Chrome, non sono sicuro che funzioni così su tutti i browser);
http://jsfiddle.net/shawson/SE46L/3/
Ecco il fiddle- immettere alcuni numeri, poi alcune lettere per vedere la pazzia. Qualcuno sa se questo è di progettazione, e se è così ... perché?
Lavori in Firefox, Chrome deve essere specifica, e sto cercando di indovinare Safari troppo in quanto rende il "numero" attributo lo stesso. –
Quanto fastidioso, sì, ho appena provato IE10 e funziona perfettamente! – Shawson
Questo non è un problema jQuery - l'elemento stesso sta restituendo una stringa vuota per l'input non numerico. – Alnitak