Selector input
El selector :input selecciona elementos de control
de formulario: inputs, textareas, listas desplegables y
botones. Ver las etiquetas:
input,
textarea,
button,
select.
Como :input no pertenece a la especificación CSS,
para mejorar el rendimiento en navegadores modernos
es mejor filtrar primero los elementos con
un selector css puro, y luego
aplicar .filter(':input').
Sintaxis
Así seleccionamos los elementos de control de formulario:
$(':input');
Ejemplo
Vamos, según la teoría expuesta anteriormente,
a seleccionar todos los elementos de control del formulario y mostrar
en la consola su número, usando la propiedad
length.
Veremos que allí aparecen todas 13 etiquetas:
<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('Cantidad de etiquetas: ' + allInputs.length);
$('form').submit(function(event) {
event.preventDefault(); // previene el envío del formulario
});