2016-05-26 6 views
-1

Ich muss auf Knopfdruck prüfen, ob alle sichtbaren Pflichtfelder ausgewählt sind.Wie kann ich prüfen, ob alle sichtbaren Eingänge einen Wert haben? (kein jquery validator)

HTML:

<input type="text" class="required-entry"> 
<input type="text" class="required-entry"> 
<input type="text" class="required-entry"> 
<div style="display:none"> 
<input type="text" class="required-entry"> 
</div> 
<button class="check-fields">Check Fields</button> 

JQuery:

$('.check-fields').on('click', function() { 
var value = $('.required-entry').filter(function() { 
    return this.value === ''; 
    }); 
    if (value.length == 0) {alert('Everything has a value.'); 
    } else if (value.length > 0) { 
    alert('Please fill out all required fields.'); 
    } 
}); 

https://jsfiddle.net/u0pk7cdr/3/

Antwort

4

Das ist, weil Sie ein weiteres Textfeld mit dem gleichen Klasse im Inneren verborgen div haben. das bleibt immer leer. Sie sollten nur von sichtbaren Textelemente herausfiltern:

var value = $('.required-entry:visible').filter(function() { 
    return this.value === ''; 
}); 

Working Demo

+0

Leider völlig vergessen haben, richtig zu markieren. Vielen Dank – Stacker

Verwandte Themen