Controllare se gli input sono vuoti usando jQuery
Ho un modulo che vorrei che tutti i campi fossero compilati. Se un campo viene cliccato e poi non viene compilato, vorrei visualizzare uno sfondo rosso.
Ecco il mio codice:
$('#apply-form input').blur(function () {
if ($('input:text').is(":empty")) {
$(this).parents('p').addClass('warning');
}
});
Applica la classe di avviso indipendentemente dal fatto che il campo sia compilato o meno.
Cosa sto facendo di sbagliato?
473
3
E non avete necessariamente bisogno di
.length
o di vedere se è>0
dato che una stringa vuota valuta comunque false, ma se volete per motivi di leggibilità:Se sei sicuro che opererà sempre su un elemento textfield allora puoi semplicemente usare
this.value
.Inoltre dovresti prendere nota che
$('input:text')
afferra elementi multipli, specifica un contesto o usa la parola chiavethis
se vuoi solo un riferimento a un elemento solo (a condizione che ci sia un campo di testo nei discendenti/figli del contesto).Lo pseudo-selettore
:empty
è usato per vedere se un elemento non contiene figli, si dovrebbe controllare il valore :