Я новичок в HTML5, так как начал работать с новыми полями ввода формы HTML5. Когда я работаю с полями ввода формы, особенно <input type="text" />
с <input type="search" />
IMO, не было никакой разницы во всех основных браузерах, включая Safari, Chrome, Firefox и Opera. И поле поиска также ведет себя как обычное текстовое поле.
Итак, в чем разница между input type="text"
и input type="search"
в HTML5?
Какова настоящая цель <input type="search" />
?
Ответы:
Прямо сейчас между ними нет ничего особенного - может, и не будет. Однако суть в том, чтобы дать разработчикам браузеров возможность делать с ним что-то особенное, если они этого хотят.
Подумайте о
<input type="number">
мобильных телефонах, о цифровыхtype="email"
клавиатурах или о специальной версии клавиатуры с доступными @ и .com и прочим.На мобильном телефоне поиск может вызвать апплет внутреннего поиска, если они захотят.
С другой стороны, это помогает нынешним разработчикам с css.
источник
internal search applet for mobile phone
. 2)ability to make better presentation
. Тем не менее, я должен был подождать, чтобы принять ответ, потому что я хочу убедиться, что нет никакой другой цели :)Также,
Ссылка
Прежде всего, он придает семантическое значение
input type
.Обновить:
В Chrome 51 удалена поддержка атрибута результатов:
источник
Визуально / функционально, 2 различия, если тип ввода - « поиск »: -
источник
В некоторых браузерах он также поддерживает атрибуты «результаты» и «автосохранение», которые обеспечивают функцию автоматического «недавнего поиска» с помощью значка лупы.
Больше информации
источник
results
атрибута: developers.google.com/web/updates/2016/08/…На самом деле будьте очень осторожны, предполагая, что он ничего не делает. Когда вы переходите к входам стиля с поиском типа, у них есть определенные атрибуты, которые нельзя изменить. Попробуйте поменять границу на одной, и вам это будет совершенно невозможно. Есть несколько других Disallowed атрибутов CSS, проверить это для всех деталей.
Также, как упоминал Jashwant, есть атрибут результата, хотя он не будет работать очень хорошо, если вы также не включите атрибут автосохранения. Однако раскрывающийся список не будет работать в большинстве браузеров, поэтому используйте его на свой страх и риск.
источник
Существует разница в действиях браузера: когда вы вводите несколько слов, а затем нажимаете ESC для ввода
type="search"
в chrome / safari, поле ввода очищается. но вtype="text"
сценарии слова не проясняются. Поэтому будьте осторожны при выборе типа, особенно когда вы используете его для автозаполнения или функции поиска.источник
Бонусный балл:
input type="search
"имеет возможность использоватьonsearch
атрибут (хотя я заметил, что это НЕ работает в новом браузере Edge от Microsoft), что избавляет от необходимости писать что-onkeypress=if(key=13) { function() }
то особенное.источник
используя input type = "search", заставьте текстовую клавиатуру enterkey отображать "search", что может улучшить взаимодействие с пользователем. однако при использовании этого типа стиль необходимо отрегулировать.
источник
Это зависит от точки зрения программиста, программист может легко определить цель ввода, посмотрев на тип, и для стилизации CSS и для JavaScript или JQuery легко проверить правило во входных данных.
источник
Но это плохо влияет на элемент ввода yout, если вы установите
И в вашем css вы устанавливаете
Он вообще не появится.
источник