Правильное использование метода GET в форме (HTML и PHP)


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

у меня есть небольшой искатель:

<form action="search" method="GET" autocomplete="off">
	<input type="text" name='texto' class="form-control" placeholder="texto a buscar" required>
    <select class="form-control"  name="ciudad" required>
    	<option value="1">Opcion 1</option>
        <option value="2">Opcion 1</option>
    </select>

    <button type="submit" class="btn btn-primary" value="Buscar">Buscar</button>
</form>

Идея состоит в том, что этот небольшой поисковик выполняет поиск с помощью параметра GET, чтобы иметь ссылку поиска.

с помощью. htaccess и php я создаю динамические привязки. С помощью. htacces я указываю, какой шаблон показать. Я делаю это так:

.htaccess

RewriteRule  ^search ?search [L]

контроллер

elseif(isset($_GET['search'])){
 $respuesta = Paginas::PlantillaBusqueda();
}

Менеджер шаблонов

public static function PlantillaBusqueda(){
   $incluir = "views/plantillas/busqueda/index.php";
   return $incluir;
}

все вышеперечисленное, чтобы моя ссылка поиска оставалась со следующей структурой (пожалуйста, особое внимание на параметре ? search):

Http://localhost/miproyecto/?search & text=asdas & город=18

Если я получаю доступ к проекту с этим URL-адресом без проблема обнаруживает параметры "текст и город"

проблема заключается в следующем:

при использовании формы это отправляет меня по следующей ссылке, и таким образом я не могу прочитать параметры GET: (что я делаю не так? :

Http://localhost/miproyecto/search?texto=asdas&ciudad=18

introducir la descripción de la imagen aquí

Заранее спасибо за вашу помощь. Объятие.

 1
Author: Neftali Acosta, 2018-05-02

1 answers

Вы можете контролировать его с помощью jquery, это будет что-то вроде этого:

<form action="search" method="GET" id="form" autocomplete="off">
    <input type="text" name='texto' class="form-control" placeholder="texto a buscar" required>
    <select class="form-control"  name="ciudad" required>
        <option value="">Seleccione</option>
        <option value="1">Opcion 1</option>
        <option value="2">Opcion 1</option>
    </select>
    <input id="submit-hidden" type="submit" style="display: none" />

    <button type="submit" id="enviar" class="btn btn-primary" value="Buscar">Buscar</button>
</form>

И с Jquery:

$(function(){
  $("#enviar").click(function(e){
    e.preventDefault();
    var texto = $("input[name=texto]").val();
    var ciudad = $("select[name=ciudad]").val();
    if (!$("#form")[0].checkValidity()) {
      $("#form").find("#submit-hidden").click();
    }else{
      window.location.href="http://localhost/miproyecto/?search&texto="+texto+"&ciudad="+ciudad

    }


  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="search" method="GET" id="form" autocomplete="off">
    <input type="text" name='texto' class="form-control" placeholder="texto a buscar" required>
    <select class="form-control"  name="ciudad" required>
        <option value="">Seleccione</option>
        <option value="1">Opcion 1</option>
        <option value="2">Opcion 1</option>
    </select>
    <input id="submit-hidden" type="submit" style="display: none" />

    <button type="submit" id="enviar" class="btn btn-primary" value="Buscar">Buscar</button>
</form>
 1
Author: Carlos Quintero, 2018-05-02 11:59:43