Создание простой формы с флажками, которые я не могу получить, чтобы передать правильный URL - PullRequest
1 голос
/ 16 февраля 2012

Кажется, я не могу решить эту (я знаю, довольно простую) проблему.

Я создаю простой поиск по тегам , который будет искать места на моем веб-сайте.Он настроен таким образом, что при выборе нескольких тегов будут возвращаться все результаты, которым присвоены все теги.Поэтому мне нужен простой код, который отображает флажки на главной странице и изменяет URL-адрес на

.../placecategory/venue/?place_tags=place+venue

Я придумал следующий код (пока только с двумя вариантами), чтобы он заработал

<form 
  action="<?php bloginfo('home') ?>/placecategory/venue/?place_tags=hall+stage" 
         method="get" accept-charset="utf-8">
       <h2>Search</h2>
       <input type="checkbox" value="hall" name="place_tags">
       <label for="tag-105">hall</label>
       <input type="checkbox" value="stage" name="place_tags">
       <label for="tag-104">stage</label>
       <input type="submit" value="Search">
</form>

Проблема в том, что он меняет URL-адрес на

 .../placecategory/venue/?place_tags=hall&place_tags=stage

, что не приводит к выводу результатов на моем сайте.Как я могу изменить это так, чтобы оно удаляло второе &place_tags= (и каждое после этого)?

Я могу сказать, что мне не хватает чего-то глупого, но это действительно расстраивает меня !!

Заранее спасибо:)

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Это то, что вы ищете?

 <form action="<?php bloginfo('home') ?>/placecategory/venue" method="get" accept-charset="utf-8">
      <h2>Search</h2>
      <input type="checkbox" value="hall" name="place_tags[]">
      <label for="tag-105">hall</label>
      <input type="checkbox" value="stage" name="place_tags[]">
      <label for="tag-104">stage</label>
      <input type="submit" value="Search">
 </form>
0 голосов
/ 16 февраля 2012

Вы можете проанализировать эти значения с помощью JS и сразу поместить их в скрытый ввод.

Попробуйте это:

включает библиотеку jQuery в раздел head:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

затем в разделе тела

<script type="text/javascript">

       function submit_me() {
                var values = $.map($("input.get-me:checked"),function(input){
                      return input.value;
                  });

                $('#hidden-input').val(values.join('+'));

                $('#your-form').submit();
      };

 </script>

       <input class="get-me" id="tag-105" type="checkbox" value="hall" name="one" />
       <label for="tag-105">hall</label>
       <input class="get-me" id="tag-104" type="checkbox" value="stage" name="two" />
       <label  for="tag-104">stage</label>
       <img width="50" height="50" src="get.png" onClick="submit_me()" />


        <form id="your-form" action="<?php bloginfo('home') ?>/placecategory/venue/" method="get" accept-charset="utf-8">
        <input id="hidden-input" type="hidden" value="" name="place_tags" />
        </form>

присвойте своим входам class = "get-me" и поместите ваше изображение в img. Вы должны проверить это только в других браузерах, а не в FF. Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...