<input> не требуется помещать внутрь контейнера <form>, определяющего форму, но если введенные пользователем данные должны быть отправлены на сервер, где их обрабатывает серверная программа, то указывать обязательно.
У Вас поиск и будет отправка на сервер, значит в <form> нужно
hckn, покажите мне спецификацию, где это написано. MDN, пример с тегом form, W3Schools тоже пример по новым стандартам в теге form.
И везде чётко написано, что если введенные пользователем данные должны быть отправлены на сервер, где их обрабатывает серверная программа, то указывать form обязательно. Я верю этим источникам.
Да и как отправить по вашему на сервер? Получать значение в переменную, потом отправлять c помощью AJAX? Не слишком ли для поиска? Прежде чем опровергать предоставленную информацию, удостоверьтесь, что правда на Вашей стороне.
Martovitskiy, использование Ajax для отправки формы абсолютно нормально. Перефразируя вас, не слишком ли для простого поиска перезагружать страницу целиком?
Теперь о вопросе автора olya_097. Семантически верно заключать теги input внутрь тега form, согласно спецификации HTML. Но никто это не обязывает делать. Решение за вами.
Более того, я могу даже не использовать теги input для сбора данных пользователя. Могу взять обычные дивы в режиме content editable.