К сожалению, первый вариант в адресной строке выдает:
?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, время: 20:36. |