Selektor input
Selektor :input wybiera elementy sterujące
formularza - inputy, textarea, listy rozwijane i
przyciski. Zobacz tagi:
input,
textarea,
button,
select.
Ponieważ :input nie należy do specyfikacji CSS,
dla poprawy wydajności w nowoczesnych
przeglądarkach lepiej najpierw odfiltrować elementy
z wykorzystaniem czystego selektora css, a następnie
zastosować .filter(':input').
Składnia
W ten sposób wybieramy elementy sterujące formularzem:
$(':input');
Przykład
Zgodnie z powyższą teorią, wybierzmy wszystkie
elementy sterujące formularzem i wypiszmy
w konsoli ich liczbę, za pomocą właściwości
length.
Zobaczymy, że trafiły tam wszystkie 13 tagów:
<form>
<input type="button" value="button">
<input type="checkbox">
<input type="file">
<input type="hidden">
<input type="image">
<input type="password">
<input type="radio">
<input type="reset">
<input type="submit">
<input type="text">
<select>
<option>option</option>
</select>
<textarea></textarea>
<button>button</button>
</form>
textarea {
height: 25px;
}
let allInputs = $(':input');
console.log('Liczba tagów: ' + allInputs.length);
$('form').submit(function(event) {
event.preventDefault(); // zapobiega wysłaniu formularza
});