Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 28.04.2017, 22:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Код по второй ссылке, это не клиентский код, а серверный, прием данных, и в нем описана обработка массива (!) меток (значений флажков), а не склеенных в строку нескольких значений.

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

Сообщение от Sakhet Посмотреть сообщение
Да, если есть теги "труля-ля" "опа-на". Поставьте себе Wordpress куда-нибудь и вы сами увидите. Я не обманываю.


Вот ошибка, её показывает браузер.


Дальше я подтверждаю действие и ничего. Вообще ничего.
Тестирую не на сервере, а на своем компьютере в браузере. Но сервер мне тут и не нужен, т.к. 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, но ищет как попало. С плюсами же, ищет как надо.
Вот теперь стало понятно-вы не знаете,как работает форма.
Если форма работает без скрипта, то она отправляет значение всех полей: имя=значение
У вас это первый вариант.
Если же форма работает со скриптом- как в примере рони или моем- то там отменяются действия по умолчанию и посылка формируется программным образом. Но в наших примерах не производится отправка на сервер, а выдается сообщение со сформированной строкой отправки, которое вы сочли сообщением об ошибке.
С отправкой на сервер-мой последний пример
Ответить с цитированием
  #23 (permalink)  
Старый 29.04.2017, 14:57
Интересующийся
Посмотреть профиль Найти все сообщения от Sakhet
 
Регистрация: 28.04.2017
Сообщений: 12

Скопировала ваш последний пример. Загрузила за сервер (localhost), в одну папку поместила index.html и test.php. Не работает. Просит подтвердить действие и ничего дальше не происходит.

Изображение с ошибкой.
Ответить с цитированием
  #24 (permalink)  
Старый 29.04.2017, 15:31
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Sakhet,
Это не ошибка, это сообщение, вернувшееся на клиент с сервера - программа test.php правильно приняла tag и вернула его в ответ.
Вы что, совсем не понимаете программы?
Ответить с цитированием
  #25 (permalink)  
Старый 29.04.2017, 16:40
Интересующийся
Посмотреть профиль Найти все сообщения от Sakhet
 
Регистрация: 28.04.2017
Сообщений: 12

Не понимаю. Понимала бы, не приходила на форум за помощью.

И мне это не нужно. В смысле программа test.php это не то, что нужно. Нужно, чтобы скрипт молча передавал в адресную строку example.ru/?cat=1&tag=tag1+tag2+tag3+tagN без подтверждений каких-либо.
Ответить с цитированием
  #26 (permalink)  
Старый 29.04.2017, 19:48
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Все, я сдаюсь

<!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;
        }
        window.location = "example.ru/?" + data;

    }
</script>
</body>
</html>

Последний раз редактировалось Dilettante_Pro, 29.04.2017 в 20:33.
Ответить с цитированием
  #27 (permalink)  
Старый 29.04.2017, 21:42
Интересующийся
Посмотреть профиль Найти все сообщения от Sakhet
 
Регистрация: 28.04.2017
Сообщений: 12

Идеально. Это как раз именно то, что мне так нужно.

Спасибо вам большое.
Ответить с цитированием
  #28 (permalink)  
Старый 02.05.2017, 18:29
Интересующийся
Посмотреть профиль Найти все сообщения от Sakhet
 
Регистрация: 28.04.2017
Сообщений: 12

Здравствуйте.

Прошу меня простить за наглость, но как в скрипт добавить выпадающий список, чтобы поиск еще и по категориям велся?

example.ru/?cat=1&tag=tag1+tag2+tag3+tagN

cat=N - это id категории.

Вот, как я писала ранее в моей попытке реализовать:

<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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множественный выбор. armolov Общие вопросы Javascript 15 16.06.2016 23:25
Выбор всех Select kvaleksandr Элементы интерфейса 12 27.10.2012 20:55
Выбор из таблицы HOmevl Общие вопросы Javascript 4 15.09.2011 01:40
Множественный выбор в анкете Владимир Седов Элементы интерфейса 2 21.05.2010 13:21
Выбор фреймворка маина Библиотеки/Тулкиты/Фреймворки 12 14.03.2009 22:21