Фильтр поиска php

262
16 мая 2017, 05:39

Как сделать отправку формы методам GET без вывода пустых инпутов Есть например форму

<form name="form" action="" method="get">
   <input type="text" name="name" value="Название">
   <input type="text" name="tags" value="Теги">
   <button type="button">Поиск</button>
</form>

При нажатии если оставить поля пустыми, то у нас получается ссылка сайт.ру?name=&tegs= Как сделать, если поля не заполнено, то оно не учитывается в ссылке. Например мы заполнили название, но теги оставили пустыми, при нажатии у нас получается сайт.ру?name=текст из инпута

Answer 1

GET-запрос с применением JavaScript:

<script>
function search() {
    var url = document.form.getAttribute("action");
    var modified = false;
    if(document.form.name.value.length > 0) {
        url += "?name=" + document.form.name.value;
        modified = true;
    }
    if(document.form.tags.value.length > 0) {
        if(modified === false) {
            url += "?";
        } else {
            url += "&";
        }
        url += "tags=" + document.form.tags.value;
        modified = true;
    }
    location = url;
}
</script>
<form name="form" action="./" method="get" onsubmit="search()">
    <input type="text" name="name" value="Название">
    <input type="text" name="tags" value="Теги">
    <button type="submit">Поиск</button>
</form>

Обратите внимание, не <button type="button">, а <button type="submit">. Также для работы скрипта необходимо установить action="./" (или action="./search", как Вам нужно).

Answer 2

1) Можно использовать POST метод отправки. Для этого нужно изменить HTML-код примерно так:

<form name="form" action="" method="post">

Для того чтобы получить данные отправленные POST в PHP, необходимо обратиться к переменной $_POST['ключ']. Замените все Ваши $_GET на $_POST для того чтобы начать работать с POST.

READ ALSO
Фильтр поиска на php

Фильтр поиска на php

как лучше реализовать фильтр поиска на php Вот как получилось у меня

508
Копируется файл в папку с обработчиком

Копируется файл в папку с обработчиком

При загрузке на сервер изображения оно, помимо перемещения в папку постоянного хранения, копируется в папку, в которой находится сам обработчик...

327
Magento узнать роуты плагина

Magento узнать роуты плагина

Добрый день, мне знакомый скинул плагин для магентуЯ уже разбираюсь с ним как час, и никак не могу понять где прописаны пути, на которых он действует

311
Объединить в Foreach

Объединить в Foreach

Доброго дня! Помогите пожалуйста объединить несколько запросов и вывести их в одном Foreach

295