Eu sou novo no HTML5, pois comecei a trabalhar com os novos campos de entrada de formulário do HTML5. Quando estou trabalhando com campos de entrada de formulário, especialmente <input type="text" />
e <input type="search" />
IMO não havia nenhuma diferença em todos os principais navegadores, incluindo o Safari, Chrome, Firefox e Opera. E o campo de pesquisa também se comporta como um campo de texto comum.
Então, qual é a diferença entre input type="text"
e input type="search"
no HTML5?
Qual é o verdadeiro objetivo <input type="search" />
?
Respostas:
No momento, não há um grande acordo entre eles - talvez nunca exista. No entanto, o objetivo é dar aos fabricantes de navegadores a capacidade de fazer algo especial com ele, se quiserem.
Pense
<input type="number">
em telefones celulares, exibindo blocos de números outype="email"
uma versão especial do teclado, com @ e .com e o restante disponível.Em um telefone celular, a pesquisa poderia exibir um applet de pesquisa interno, se eles quisessem.
Por outro lado, ajuda os desenvolvedores atuais com css.
fonte
internal search applet for mobile phone
. 2)ability to make better presentation
. No entanto, eu deveria esperar para aceitar a resposta, porque eu quero ter certeza de que não há qualquer outro propósito :)Além disso,
Referência
Acima de tudo, fornece um significado semântico para o
input type
.Atualizar:
O Chrome 51 removeu o suporte para o atributo results:
fonte
Visualmente / funcionalmente, 2 diferenças se o tipo de entrada for ' search ': -
fonte
Em alguns navegadores, ele também suporta os atributos "resultados" e "gravação automática", que fornecem a funcionalidade automática de "pesquisas recentes" com o ícone de lupa.
Mais informações
fonte
results
atributo: developers.google.com/web/updates/2016/08/…Na verdade, tenha muito cuidado ao supor que não faz nada. Quando você vai para estilizar entradas com a pesquisa de tipo, elas possuem certos atributos que não podem ser alterados. Tente mudar a borda de uma e você achará isso impossível. Existem vários outros atributos CSS não permitidos, confira isso para todos os detalhes.
Também como mencionado por Jashwant, há o atributo result, embora ele não funcione muito bem, a menos que você inclua também o atributo autosave. A lista suspensa não funcionará na maioria dos navegadores, portanto, use por sua própria conta e risco.
fonte
Há uma diferença de ação do navegador. Quando você digita algumas palavras e digita ESC na entrada
type="search"
no chrome / safari, a caixa de entrada é limpa. mas, notype="text"
cenário, as palavras não serão apagadas. Portanto, tenha cuidado ao escolher o tipo, especialmente quando você o usa para preenchimento automático ou recurso relacionado à pesquisafonte
Ponto de bônus:
input type="search
"tem a capacidade de usar oonsearch
atributo (embora eu tenha notado que isso NÃO funciona no novo Edge Browser da Microsofts), o que elimina a necessidade de escreveronkeypress=if(key=13) { function() }
algo personalizado .fonte
usando input type = "search", o texto da tecla enter do teclado mostra "search", o que pode melhorar a experiência do usuário. no entanto, você deve ajustar o estilo se estiver usando esse tipo.
fonte
Depende do ponto de vista dos programadores, um programador pode determinar facilmente o objetivo da entrada observando o tipo e é fácil para o estilo CSS e para JavaScript ou JQuery verificar a regra nas entradas.
fonte
Mas isso afeta negativamente o elemento de entrada, se você definir
E no seu CSS você define
Não vai aparecer.
fonte