[РЕШЕНО] Отключить сабмит поиска при пустом значении
Как отключить кнопку поиск при пустом значении - даже тут можно при нажатии выполнить команду поиск, которая по сути такая не нужна
Хочу чтоб если поле не заполнено, то кнопка поиск не нажималась , а пользователю выпадало небольшое сообщение под формой - что либо поле не заполнено , либо в поиске меньше трех литер
Простой alert пожалуйста не предлагать - он будет раздражать, так как выскакивает по середине браузера и приходится водить мышью
1
как вариант (но пишут что не везде работает)
required="required"
2
Скрывает кнопку (но срабатывает через enter)
<form action="searchengine.php" method="POST">
<input type="text" id="searchbox" name="searchterm" placeholder="Search here">
<input type="submit" id="searchbutton" value="Search" style="display:none;">
</center>
<script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#searchbox').keyup(function() {
if ($(this).val() == '') {
$('#searchbutton').hide();
} else {
$('#searchbutton').show();
}
});
});
</script>
Тут лучше ловить событие сабмита и провертеть значение, если оно пустое, то отменять сабмит и делать что-то еще: показывать сообщение...
В коде примерно так, при условии что id формы search_form:
jQuery(document).ready(function($){ $('#search_form').on('submit', function(event){ if( ! $(this).find('input[type="text"]').val() ){ event.preventDefault(); // и делаем что нибудь еще - показываем сообщение } }); });