Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как в ссылку вставить ссылку на форму поиска? (https://javascript.ru/forum/dom-window/68577-kak-v-ssylku-vstavit-ssylku-na-formu-poiska.html)

Espey 24.04.2017 17:33

Как в ссылку вставить ссылку на форму поиска?
 
Есть такая форма поиска:

<input name="searchword" placeholder="Поиск" id="search-searchword" size="30" maxlength="200" value="" class="inputbox" type="text">


Как сделать обычную ссылку с ссылкой в форму поиска?

Dilettante_Pro 24.04.2017 17:52

<a href="#search-searchword" >Search</a>
<input name="searchword" placeholder="Поиск" id="search-searchword" size="30" maxlength="200" value="" class="inputbox" type="text">

Espey 24.04.2017 18:13

Нет, мне нужно вставить в ссылку слова, при нажатие на которую будет происходить поиск с заданным словом.

Dilettante_Pro 24.04.2017 18:33

<a href="#search-searchword" >Что-то нужное</a>
<input name="searchword" placeholder="Поиск" id="search-searchword" size="30" maxlength="200" value="" class="inputbox" type="text">
<script>
document.querySelector('a').onclick = function() {
   document.querySelector('#search-searchword').value = this.innerText;
}
</script>

Espey 24.04.2017 18:45

Мне нужно много таких ссылок сделать. Я делаю теги, при нажатии на которых должен проходить поиск.

Так что для каждого слова свой скрипт подключать?

Espey 24.04.2017 18:46

Лучше, чтоб скрипт в ссылку вставить можно было, или так нельзя?

laimas 24.04.2017 18:53

Цитата:

Сообщение от Espey
Я делаю теги, при нажатии на которых должен проходить поиск.

Облако тегов формирует сервер, а значит и параметры запроса должен определять он.

Espey 24.04.2017 18:55

Я хотел в ссылки вставит скрипт на выполнения поиска по сайту с нужными мне запросам. Можно или нельзя так сделать?

Espey 24.04.2017 18:56

Облако тегов делаю я вручную.

laimas 24.04.2017 18:57

Цитата:

Сообщение от Espey
Я хотел в ссылки вставит скрипт на выполнения поиска по сайту с нужными мне запросам.

А причем тут тогда теги? Поиск по сайту он и в Африке поиск, то есть ввод произвольного пользователем. А ввод, это поле формы, которое вам показано.

laimas 24.04.2017 18:58

Цитата:

Сообщение от Espey
Облако тегов делаю я вручную.

Это как?

Espey 24.04.2017 19:01

А я хочу сделать ссылки, при нажатии на которых будет происходит поиск по нужным мне запросам.

Dilettante_Pro 24.04.2017 19:04

Скрипт в ссылке
<a href="#search-searchword" onclick = "document.querySelector('#search-searchword').value = this.innerText;">Что-то нужное</a>
<input name="searchword" placeholder="Поиск" id="search-searchword" size="30" maxlength="200" value="" class="inputbox" type="text">

Один скрипт на все ссылки
<a href="#search-searchword" onclick= "fillSearch(this)" >Что-то нужное</a>
<a href="#search-searchword" onclick= "fillSearch(this)" >Что-то ненужное</a>
<input name="searchword" placeholder="Поиск" id="search-searchword" size="30" maxlength="200" value="" class="inputbox" type="text">
<script>
function fillSearch(src) {
   document.querySelector(src.href.substr(src.href.indexOf('#'))).value = src.innerText;
}
</script>

laimas 24.04.2017 19:07

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

Производить поиск по сайту посредством кучи ссылок, это бред.

Espey 24.04.2017 19:09

Вставляю ссылку:

<a href="" onclick = "document.querySelector('чудо').value = this.innerText;">чудо</a>

И не чего не работает.

Espey 24.04.2017 19:11

laimas, не бред. Я встречал много расширений, так работающих.

laimas 24.04.2017 19:16

Цитата:

Сообщение от Espey
Я встречал много расширений, так работающих.

Да что вы говорите, ну-ка ссылку на такой поиск.

Запомните, что не пользователь для вас, а вы для него. С годами выработана и форма поиска, и даже иконки кнопок запуска поиска, и пользователь интуитивно понимает, что он ожидает от этого действия.

А теги, это совсем иное, не порите хрени.

Espey 24.04.2017 19:49

Я хрени не порю и бред не несу. Использовал лично такой модуль. Называется он Tor_Tags Joomla.

laimas 24.04.2017 20:02

Ну так это облако тегов, не поиск по сайту. В конце концов поймите, что теги, это определение ресурсов. Причем добавление тега и ресурс с ним связанный определяется через административный раздел посредством этого модуля. Тег не является поиском.

Решений облака тегов множество, есть в которых можно получать их порциями (подгрузка), есть даже и поле ввода для поиска по тегам, то есть по тематике ими определенными.

Ссылка тега уже определена, результат работы этого модуля на страницах Джумла посмотрите.

PS. Или вы ведете речь как раз об админке, в которой нужно связать ссылки с ресурсами? Тогда откуда сами ссылки в коде, они должны формироваться автоматически по определенным параметрам, коли модуль использовали, значит должны знать это.

Nexus 24.04.2017 20:26

Цитата:

Сообщение от Espey (Сообщение 450933)
Вставляю ссылку:

<a href="" onclick = "document.querySelector('чудо').value = this.innerText;">чудо</a>

И не чего не работает.

Гениально, но нужно так:
<a href="" onclick = "document.querySelector('#search-searchword').value = this.innerText;">чудо</a>

laimas 24.04.2017 20:32

Цитата:

Сообщение от Nexus
Гениально, но нужно так

Вот так как раз и не нужно. Ну что за хрень, теги это теги.

Espey 24.04.2017 20:36

Вот так:

<a href="#search-searchword" onclick = "document.querySelector('#search-searchword').value = this.innerText;">Чудо</a>


Работает подставление в форму, а перехода по форме нет.

Espey 24.04.2017 20:41

Уже лучше, хоть какие то сдвиги есть.

Espey 24.04.2017 20:53

<a href="#search-searchword" onclick = "document.querySelector('#search-searchword').value = this.innerText;">Чудо</a>

Как сделать еще переход по форме?

Nexus 24.04.2017 22:38

Цитата:

Сообщение от laimas (Сообщение 450940)
Вот так как раз и не нужно. Ну что за хрень, теги это теги.

Человек только вникает в сайтостроение, не мешай)
Сам наверняка поначалу такую же х... код писал))

Espey 24.04.2017 23:22

Так это не я код писал. Я мог бы сделать код тупо ссылками типа:

search/?searchword=Бог (это бы были теги на поиск). Как мне писали здесь и говорили так сделать.

Но проблема заключается в том, что у меня на сайте нету ?searchword=Бог у меня просто search.html с результатами поиска.

По этому мне нужно сделать авто поставление текста в форму и автоматической отправки ее при нажатии на ссылку.

Как сделать.

laimas 25.04.2017 00:00

Цитата:

Сообщение от Nexus
Сам наверняка поначалу такую же х... код писал))

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

Беда прогеров не в том, что они не знают на текущий момент о неких функциях языка, а в том, что не имеют понятий их применения. А это является следствием искаженных представлений задач, а следовательно и путей их решения.

Нет, до такого бреда, что в этой теме, я не додумался в своей практике. И поддерживать эту муть желания тоже нет. :)

Теги, их суть, это есть навигация по сайту, такая же как и любая иная ссылка или меню. Теги могут определяться и картой сайта. А вот поиск по умолчанию, это null, и ищет он то, что не определено ссылками/тегами на текущий момент времени. Задачи у поиска несколько иные.

Espey 25.04.2017 11:25

Ну понятно, программисты, профессионалы и эксперты. Я не программист, просто изучаю Joomla и создаю сайты на различных CMS, меняю их стиль.

По этому знаний по программированию у меня нет. Вот обратился за помощью на форум и мне на 50% помогли.

laimas 25.04.2017 12:17

Цитата:

Сообщение от Espey
просто изучаю Joomla

Ну так модуль тегов для Джумлы имеет описание, причем и на русском, и уже из описания модуля, как определяются теги на страницах сайта, понятно, что такое теги.

Вы же изобретаете какой-то гибрид. :)

Nexus 25.04.2017 13:01

Цитата:

Сообщение от laimas (Сообщение 450968)
Нет, до такого бреда, что в этой теме, я не додумался в своей практике. И поддерживать эту муть желания тоже нет. :)

:lol:

Espey 25.04.2017 14:09

Модуль тегов в Joomla выводит список материалов привязанных к заданному тегу. А меня это не устраивает. Мне нужен поиск.

Вы посмотрите компонент TorTags для Joomla, там теги сделаны для поиска. Вы посмотрите 1С-Битрикс - там теги сделаны для поиска.

По этому сами не пишите бред.

Espey 25.04.2017 14:11

Бред пишут профессионалы и эксперты, потому что тегов не разу в жизни не видели (нормальных)

Espey 25.04.2017 14:12

Непутевые блин ((

Espey 25.04.2017 14:15

Nexus, кто вам виноват, что вы не видели не разу в своей жизни тегов нормальных. А строите из себя эксперта. Вот нюб((

laimas 25.04.2017 14:57

Цитата:

Сообщение от Espey
Вы посмотрите компонент TorTags для Joomla

Да пожалуйста, смотрите.

Теги не являются поиском, не надо гнать чушь. В этом модуле вы указываете тег и связываете его с ресурсом. Причем тут поиск?

Цитата:

Сообщение от Espey
потому что тегов не разу в жизни не видели (нормальных)


Судя по теме вашей, видели вы много, но и много просто не понимаете.

Espey 25.04.2017 15:14

В компоненте TorTags теги ведут на страницу результата поиска. Вот там просто ссылки выглядят не так как у меня.

Есть еще плагин SearchTags называется, он подставляет ключевые слова в ссылки на страницу результатов поиска.

В 1С-Битрикс теги сделаны на страницу результатов поиска.

В самой Joomla ссылки плохо сделаны на список материалов.

Но вообще я разобрался.

Вот что у меня вышло:

<a class="tag" href="javascript:void(0)" onclick = "document.querySelector('#search-searchword').value = this.innerText; document.querySelector('#searchForm').submit();">Чудо</a>


Спасибо за помощь, людям, которые мне помогли. Удачи и всех благ.

Espey 25.04.2017 15:16

Пусть вас Бог бережет и оберегает. Удачи и всех благ.

Dilettante_Pro 25.04.2017 15:55

Espey,
Лучше все-таки такой вариант, для многих ссылок одна функция
<a href="#search-searchword" onclick= "fillSearch(this)" >Что-то нужное</a>
<a href="#search-searchword" onclick= "fillSearch(this)" >Что-то ненужное</a>
<form action="url процедуры поиска" id="searchForm">
   <input name="searchword" placeholder="Поиск" id="search-searchword" size="30" maxlength="200" value="" class="inputbox" type="text">
</form>
<script>
function fillSearch(src) {
   document.querySelector(src.href.substr(src.href.indexOf('#'))).value = src.innerText;
   document.querySelector('#searchForm').submit();
}
</script>

laimas 25.04.2017 16:03

Цитата:

Сообщение от Espey
В компоненте TorTags теги ведут на страницу результата поиска

Любой SELECT запрос базы можно также назвать поиском, а любую формируемую страницу по такому запросу страницей поиска. Как бы вы это не называли, но назначение тегов не поиск, и запрос SELECT, это все таки не поиск в полном смысле слова, это выборка по фиксированным указанным параметрам (условиям).

Теги, это ключевые слова. Только о понятии "ключевые слова" можно говорить долго. Но если кратко, то с каждым ключевым словом (словами) связываются ресурсы. То есть они ранее уже определены, как слова этих ресурсов имеющие определенный вес, наиболее релевантные. Сам тег, это ссылка передающая параметром ключевое слово (это параметр уже прописан в ссылке тега, кстати не обязательно слово, связи могут быть различными). Эти слова заносятся в базу в таблицу связанную с ресурсами определенными этими тегами. Ссылка по тегу производит запрос к этой таблице, получает ресурс (ресурсы) связанные с этим тегом, и вывод. А уж как вы эту страницу хотите назвать дело хозяйское.

Если тег не будет иметь параметра запроса уже указанного в ссылке, то грош ему цена. Помните, что все внутренние ссылки на страницах индексируются поисковиками, причем учитывается и их вес (ранее ссылка давалась). То, что, к примеру, H1 имеет для робота больший вес, чем H2, думаю пояснять не надо. Но почитайте и подумайте зачем к примеру в HTML5 добавлен атрибут role? Удачные ключевые слова вообще могут быть "золотыми". А вы свои теги изначально создаете пустышками, то есть без параметров, задавая их посредством JS. Для робота такие теги (ссылки) пустой звук, то есть сама суть тегов напрочь отсутствует.

Вот ссылка на страницу проекта написанного на Джумла, это и есть теги.

А что есть поиск как таковой. В MySQL, что использует Джумла, поиск в базе может быть по регулярному выражению и полнотестовый поиск. Второе и можно назвать истинно поиском, и для того чтобы его осуществить полю таблицы обязательно указывает индекс FULLTEXT. Этот поиск имеет логические режимы, хотя в MySQL он и не настолько богат. Но чтобы иметь полное представление о поиске как таковом найдите в сети описание "секретов" поиска в Гугл, Яндекс, о которых вы возможно даже и не подозреваете.

Nexus 26.04.2017 12:39

Цитата:

Сообщение от Espey (Сообщение 451019)
Nexus, кто вам виноват, что вы не видели не разу в своей жизни тегов нормальных. А строите из себя эксперта. Вот нюб((

Прошу прощения, но эксперта я из себя не строил.
И да, возможно вы правы и я крайне некомпетентен в этом вопросе :)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<form class="form">
	<input type="seacrh" name="search"/>
	<input type="submit" value="Submit"/>
</form>
<div class="search-words">
	<span class="pseudo-tag">Word 1</span>
	<span class="pseudo-tag">Word 2</span>
	<span class="pseudo-tag">Word 3</span>
</div>
<script type="text/javascript">
	$(function(){
		var $form=$('form.form'),
			$words=$('.search-words .pseudo-tag');
		
		//form submit hander
		$form.submit(function(e){
			e.preventDefault();
			alert('Default event was stopped');
			console.log('Form data: ',$(this).serialize());
		});
		
		$words.click(function(){
			$form.find('[name="search"]').val($(this).text());
			$form.submit();
		});
	});
</script>


Часовой пояс GMT +3, время: 20:19.