Soy nuevo en HTML5 cuando comencé a trabajar con los nuevos campos de entrada de formulario de HTML5. Cuando estoy trabajando con campos de entrada de formulario, especialmente <input type="text" />
e <input type="search" />
IMO, no hubo ninguna diferencia en todos los principales navegadores, incluidos Safari, Chrome, Firefox y Opera. Y el campo de búsqueda también se comporta como un campo de texto normal.
Entonces, ¿cuál es la diferencia entre input type="text"
y input type="search"
en HTML5?
¿Cuál es el verdadero propósito de <input type="search" />
?
Respuestas:
En este momento, no hay un gran problema entre ellos, tal vez nunca lo habrá. Sin embargo, el objetivo es dar a los fabricantes de navegadores la capacidad de hacer algo especial con él, si así lo desean.
Piense
<input type="number">
en los teléfonos celulares, en las teclas numéricas otype="email"
en una versión especial del teclado, con @ y .com y el resto disponible.En un teléfono celular, la búsqueda podría mostrar un applet de búsqueda interno, si así lo desean.
Por otro lado, ayuda a los desarrolladores actuales con css.
fuente
internal search applet for mobile phone
. 2)ability to make better presentation
. Sin embargo, supuse esperar para aceptar la respuesta, porque quiero asegurarme de que no haya ningún otro propósito :)También,
Referencia
Sobre todo, proporciona un significado semántico a la
input type
.Actualizar:
Chrome 51 eliminó la compatibilidad con el atributo de resultados:
fuente
Visualmente / funcionalmente, 2 diferencias si el tipo de entrada es ' buscar ': -
fuente
En algunos navegadores, también es compatible con los atributos "resultados" y "autoguardado" que proporcionan la funcionalidad automática de "búsquedas recientes" con el icono de lupa.
Más información
fuente
results
atributo: developers.google.com/web/updates/2016/08/…En realidad, tenga mucho cuidado al asumir que no hace nada. Cuando va a entradas de estilo con la búsqueda de tipo, tienen ciertos atributos que no se pueden cambiar. Intente cambiar el borde en uno y lo encontrará bastante imposible. Hay varios otros atributos CSS no permitidos, mira esto para todos los detalles.
También, como mencionó Jashwant, está el atributo de resultado, aunque no funciona muy bien a menos que también incluya el atributo de autoguardado. Sin embargo, el menú desplegable no funcionará en la mayoría de los navegadores, así que úselo bajo su propio riesgo.
fuente
Hay una diferencia en la acción del navegador, cuando escribe algunas palabras y luego teclea ESC en la entrada
type="search"
en Chrome / Safari, el cuadro de entrada se borrará. pero en eltype="text"
escenario, las palabras no se borrarán. Por lo tanto, tenga cuidado al elegir el tipo, especialmente cuando lo utiliza para la función de autocompletar o búsquedafuente
Punto extra:
input type="search
"tiene la capacidad de usar elonsearch
atributo (aunque he notado que esto NO funciona en el nuevo navegador Edge de Microsofts), lo que elimina la necesidad de escribir algo personalizadoonkeypress=if(key=13) { function() }
.fuente
mediante input type = "search", haga que el texto de la tecla de acceso enterkey muestre "search", lo que puede mejorar la experiencia del usuario. sin embargo, debe ajustar el estilo si usa este tipo.
fuente
Depende del punto de vista de los programadores, un programador puede determinar fácilmente el propósito de la entrada al observar el tipo y es fácil para el estilo CSS y para JavaScript o JQuery verificar la regla en las entradas.
fuente
Pero tiene un efecto negativo en su elemento de entrada, si configura
Y en tu css estableces
No aparecerá en absoluto.
fuente