Съезжает вёрстка при поиске на сайте
Сделал поиск на сайте стилизовал html форму и подключил ajax. Проблема у меня в том, что когда начинаю искать по сайту то найденные записи отображаются не под окном поиска (было бы круто сделать вывод ответов отдельным блоком на белом фоне), а вылезают в хедере сайта (скрин во вложении). Подскажите, что мне нужно добавить в мой код чтобы этого не происходило и найденные записи выглядели адекватно. Спасибо заранее!
function mySubmitFunction(e) {
e.preventDefault();
someBug();
return false;
}
$('[data-id="searchline"]').on('input', function() {
var str = $(this).val();
$.ajax({
url: '/local/ajax/search.php',
type: "POST",
data: {
searchResult: str
},
//processData: false,
//contentType: false,
dataType: 'json',
beforeSend: function(bEvent) {
},
success: function(returnLine) {
ё$('#search_data').html(returnLine.parsedContent);
},
complete: function(dEvent) {
},
error: function(jqXHR, exception) {
// alert('error');
console.log(['---ERROR---', jqXHR, exception]);
}
});
});
.search {
/* устанавливаем необходимую ширину формы в зависимости от дизайна
** форма без проблем растягивается */
width: 35%;
margin-left: 30%;
/* кнопку отправки будем позиционировать абсолютно,
** поэтому необходимо это свойство */
position: relative;
}
.search input {
/* отключаем бордюры у инпутов */
border: none;
}
/* стили для поля ввода */
.search .input {
/* растягиваем поле ввода на всю ширину формы */
width: 100%;
/* за счет верхнего (8px) и нижнего (9px) внутренних отступов
** регулируем высоту формы
** внутренний отступ справа (37px) делаем больше левого,
** т.к. там будет размещена кнопка отправки */
padding: 8px 37px 9px 15px;
/* чтобы ширина поля ввода (100%) включала в себя внутренние отступы */
-moz-box-sizing: border-box;
box-sizing: border-box;
/* добавляем внутренние тени */
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1), inset 0 1px 2px rgba(0, 0, 0, 0.3);
/* закругляем углы */
border-radius: 20px;
background: #EEE;
font: 13px Tahoma, Arial, sans-serif;
color: #555;
outline: none;
}
/* меняем оформление поля ввода при фокусе */
.search .input:focus {
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), inset 0 1px 2px rgba(0, 0, 0, 0.4);
background: #E8E8E8;
color: #333;
}
/* оформляем кнопку отправки */
.search .submit {
/* позиционируем кнопку абсолютно от правого края формы */
position: absolute;
top: 0;
right: 0;
width: 37px;
/* растягиваем кнопку на всю высоту формы */
height: 100%;
cursor: pointer;
background: url(https://lh4.googleusercontent.com/-b-5aBxcxarY/UAfFW9lVyjI/AAAAAAAABUg/gQtEXuPuIds/s13/go.png) 50% no-repeat;
/* добавляем прозрачность кнопке отправки */
opacity: 0.5;
}
/* при наведении курсора меняем прозрачность кнопки отправки */
.search .submit:hover {
opacity: 0.8;
}
/* данное свойство необходимо для того, чтобы в браузерах
** Chrome и Safari можно было стилизовать инпуты */
input[type="search"] {
-webkit-appearance: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" method="post" class="search" onsubmit="return mySubmitFunction(event)">
<input data-id="searchline" name="q" placeholder="поиск" class="input" />
<input type="submit" name="" value="" class="submit" />
</form>
<div id="search_data"></div>
так выглядит форма поиска
так выглядит форма поиска при поиске
Ответы (1 шт):
Автор решения: Vasily
→ Ссылка
Скопировал Ваш код в пример, то что Вы добавляете в .search-data сейчас отображаться ниже поля ввода:
.search {
/* устанавливаем необходимую ширину формы в зависимости от дизайна
** форма без проблем растягивается */
width: 35%;
margin-left: 30%;
/* кнопку отправки будем позиционировать абсолютно,
** поэтому необходимо это свойство */
position: relative;
}
.search input {
/* отключаем бордюры у инпутов */
border: none;
}
/* стили для поля ввода */
.search .input {
/* растягиваем поле ввода на всю ширину формы */
width: 100%;
/* за счет верхнего (8px) и нижнего (9px) внутренних отступов
** регулируем высоту формы
** внутренний отступ справа (37px) делаем больше левого,
** т.к. там будет размещена кнопка отправки */
padding: 8px 37px 9px 15px;
/* чтобы ширина поля ввода (100%) включала в себя внутренние отступы */
-moz-box-sizing: border-box;
box-sizing: border-box;
/* добавляем внутренние тени */
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1), inset 0 1px 2px rgba(0, 0, 0, 0.3);
/* закругляем углы */
border-radius: 20px;
background: #EEE;
font: 13px Tahoma, Arial, sans-serif;
color: #555;
outline: none;
}
/* меняем оформление поля ввода при фокусе */
.search .input:focus {
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), inset 0 1px 2px rgba(0, 0, 0, 0.4);
background: #E8E8E8;
color: #333;
}
/* оформляем кнопку отправки */
.search .submit {
/* позиционируем кнопку абсолютно от правого края формы */
position: absolute;
top: 0;
right: 0;
width: 37px;
/* растягиваем кнопку на всю высоту формы */
height: 100%;
cursor: pointer;
background: url(https://lh4.googleusercontent.com/-b-5aBxcxarY/UAfFW9lVyjI/AAAAAAAABUg/gQtEXuPuIds/s13/go.png) 50% no-repeat;
/* добавляем прозрачность кнопке отправки */
opacity: 0.5;
}
/* при наведении курсора меняем прозрачность кнопки отправки */
.search .submit:hover {
opacity: 0.8;
}
/* данное свойство необходимо для того, чтобы в браузерах
** Chrome и Safari можно было стилизовать инпуты */
input[type="search"] {
-webkit-appearance: none;
}
``` **JQuery Ajax** ``` function mySubmitFunction(e) {
e.preventDefault();
someBug();
return false;
}
$('[data-id="searchline"]').on('input', function() {
var str=$(this).val();
$.ajax( {
url: '/local/ajax/search.php', type: "POST", data: {
searchResult: str
}
, //processData: false,
//contentType: false,
dataType: 'json', beforeSend: function (bEvent) {}
, success: function (returnLine) {
$('#search_data').html(returnLine.parsedContent);
}
, complete: function (dEvent) {}
, error: function (jqXHR, exception) {
// alert('error');
console.log(['---ERROR---', jqXHR, exception]);
}
}
);
}
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" method="post" class="search" onsubmit="return mySubmitFunction(event)">
<input data-id="searchline" name="q" placeholder="поиск" class="input" />
<input type="submit" name="" value="" class="submit" />
</form>
<div id="search_data">Reference site about Lorem Ipsum, giving information on its origins, as well as a random Lipsum generator.</div>

