Je suis nouveau dans HTML5 car j'ai commencé à travailler avec les nouveaux champs de saisie de formulaire HTML5. Lorsque je travaille avec les champs de saisie de formulaire, en particulier <input type="text" />
et l' <input type="search" />
OMI, il n'y avait aucune différence dans tous les principaux navigateurs, y compris Safari, Chrome, Firefox et Opera. Et le champ de recherche se comporte également comme un champ de texte normal.
Alors, quelle est la différence entre input type="text"
et input type="search"
en HTML5?
Quel est le véritable but de <input type="search" />
?
Réponses:
À l'heure actuelle, il n'y a pas beaucoup de choses entre eux - peut-être qu'il n'y en aura jamais. Cependant, le but est de donner aux fabricants de navigateurs la possibilité de faire quelque chose de spécial avec, s'ils le souhaitent.
Pensez
<input type="number">
aux téléphones portables, à la mise en place de pavés numériques outype="email"
à une version spéciale du clavier, avec @ et .com et le reste disponible.Sur un téléphone portable, la recherche peut faire apparaître une applet de recherche interne, s'ils le souhaitent.
De l'autre côté, il aide les développeurs actuels avec css.
la source
internal search applet for mobile phone
. 2)ability to make better presentation
. Cependant, je devais attendre pour accepter la réponse, car je veux m'assurer qu'il n'y a pas d'autre but :)Aussi,
Référence
Surtout, il donne une signification sémantique au
input type
.Mettre à jour:
Chrome 51 a supprimé la prise en charge de l'attribut de résultats:
la source
Visuellement / fonctionnellement, 2 différences si le type d'entrée est ' recherche ': -
la source
Sur certains navigateurs, il prend également en charge les attributs «résultats» et «enregistrement automatique» qui fournissent une fonctionnalité automatique de «recherches récentes» avec l'icône de la loupe.
Plus d'informations
la source
results
attribut: développeurs.google.comEn fait, soyez très prudent en supposant que cela ne fait rien. Lorsque vous accédez aux entrées de style avec la recherche de type, elles ont certains attributs qui ne peuvent pas être modifiés. Essayez de changer la bordure sur un et vous trouverez cela tout à fait impossible. Il existe plusieurs autres attributs CSS non autorisés, vérifiez ceci pour tous les détails.
Comme mentionné par Jashwant, il y a également l'attribut result, bien qu'il ne fonctionne pas très bien à moins que vous n'incluiez également l'attribut d'enregistrement automatique. Le menu déroulant ne fonctionnera pas dans la plupart des navigateurs, cependant, utilisez-le à vos risques et périls.
la source
Il y a une différence de navigateur dans l'action, lorsque vous tapez des mots, puis que vous saisissez ESC dans l'entrée
type="search"
dans chrome / safari, la zone de saisie est effacée. mais dans letype="text"
scénario, les mots ne seront pas effacés. Soyez donc prudent en choisissant le type, surtout lorsque vous l'utilisez pour la saisie semi-automatique ou la fonction liée à la recherchela source
Point bonus:
input type="search
"a la possibilité d'utiliser l'onsearch
attribut (même si j'ai remarqué que cela ne fonctionne PAS dans le nouveau navigateur Edge de Microsoft), ce qui élimine le besoin d'écrire uneonkeypress=if(key=13) { function() }
chose personnalisée .la source
en utilisant input type = "search", le texte du keybord enterkey affiche "search", ce qui peut améliorer l'expérience utilisateur. cependant, vous devez ajuster le style si vous utilisez ce type.
la source
Cela dépend du point de vue du programmeur, un programmeur peut facilement déterminer le but de l'entrée en regardant le type et il est facile pour le style CSS et pour JavaScript ou JQuery de vérifier la règle dans les entrées.
la source
Mais cela a un mauvais effet sur votre élément d'entrée, si vous définissez
Et dans votre css vous définissez
Il n'apparaîtra pas du tout.
la source