Показать сообщение отдельно
  #14 (permalink)  
Старый 28.04.2017, 18:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от Sakhet Посмотреть сообщение
К сожалению, первый вариант в адресной строке выдает:
?tag1=Тег1&tag2=Тег2


а второй
Просит подтверить действие "cat=1&tag=Тег2+Тег3" и ничего не происходит потом.
Не может быть.
Первый вариант
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 ;
?>


И все прекрасно отрабатывает.
По второму варианту: Кто просит подтвердить действие?
Что делает обработчик запроса на сервере?

Последний раз редактировалось Dilettante_Pro, 28.04.2017 в 18:52.
Ответить с цитированием