К сожалению, первый вариант в адресной строке выдает:
?tag1=Тег1&tag2=Тег2 а второй Просит подтверить действие "cat=1&tag=Тег2+Тег3" и ничего не происходит потом. |
Цитата:
|
Да дело то не в запросе, а в проверке данных, то есть я могу отправить и такое cat=1&tag=труля-ля+опа-на, такое будет корректно?
|
Цитата:
Первый вариант cat=1&tag=Тег1+Тег2 Что-то не так скопировали из примера. Я проверял комплексную работу на макете HTML <!DOCTYPE html> <html> <head> <title>Test Tags</title> </head> <body> <form> Тег 1<input type="checkbox" name="tag1" value = "Тег1"><br> Тег 2<input type="checkbox" name="tag2" value = "Тег2"><br> Тег 3<input type="checkbox" name="tag3" value = "Тег3"><br> <input type="submit" value="Отправить"> </form> <script> document.querySelector('form').onsubmit = function (e) { e.preventDefault(); var data = "cat=1&tag="; var boxes = document.querySelectorAll('input[type="checkbox"]:checked'); for (var i = 0; i < boxes.length; i++) { data += (i == 0 ? "" : "+") + boxes[i].value; } var req = new XMLHttpRequest(); req.open("GET", "test.php/?" + data, true); req.addEventListener("load", function () { alert("Done: " + req.responseText); }); req.send(null); } </script> </body> </html> test.php <?php $tag="NoTag"; if(isset($_GET['tag'])) { $tag=$_GET['tag']; } echo $tag ; ?> И все прекрасно отрабатывает. По второму варианту: Кто просит подтвердить действие? Что делает обработчик запроса на сервере? |
Цитата:
Вот ошибка, её показывает браузер. ![]() Дальше я подтверждаю действие и ничего. Вообще ничего. Тестирую не на сервере, а на своем компьютере в браузере. Но сервер мне тут и не нужен, т.к. javascript исполняется в брауере у клиента, и уже дальше отправляет нужный запрос. Вот, к примеру я пробовала так сделать: <form action="http://localhost/wp/" method="get"> <div><select name='cat' id='category' class='postform' > <option value='0'>Выберите категорию</option> <option value="1">Категория 1</option> <option value="2">Категория 2</option> </select> <select name="tag"> <option value=''>Выберите тэг</option> <option value="tag1">Тэг1</option> <option value="tag2">Тэг2</option> <option value="tag3">тэг3</option> </select> <input type="submit" value="Submit"> </div></form> И такой вариант работает прямо в браузере, но WP ищет только по одной категории и одному тэгу. А вот, чтобы по одной категории и нескольким тегам, нужно разделять их плюсами. И вот сделать так, чтобы были "+" не получается. Если добавить в мой код еще раз: <select name="tag"> <option value=''>Выберите тэг</option> <option value="tag1">Тэг1</option> <option value="tag2">Тэг2</option> <option value="tag3">тэг3</option> </select> То форма выдаст в адресную строку: http://localhost/wp/?cat=1&tag=1&tag=2 Такой вариант тоже работает в WP, но ищет как попало. С плюсами же, ищет как надо. |
Цитата:
|
Допускает ввод того, что я написала в первом сообщении. Не о нем речь. Всё, что нужно, это сформировать строчку с запросом в браузере.
|
Я пробовала вот этот вариант. Не работает, а переделать я не знаю как, т.к. не знаю языка.
Находила вот такой вариант, но куда его засунуть никто нигде не пишет. |
Цитата:
|
Я не понимаю, что значит склеивать. И куда вставлять код я так и не поняла. В шаблон, в плагин, в код WP?
|
Часовой пояс GMT +3, время: 02:52. |