Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.02.2012, 00:15
Новичок на форуме
Отправить личное сообщение для comdex Посмотреть профиль Найти все сообщения от comdex
 
Регистрация: 08.02.2012
Сообщений: 3

Еще один вопрос про form action
Друзья помогите.

Имеется форма,
<form action="http://www.google.ru/search?" target="_blank">
<input class="ta" name="q"/>
</form>

ниже за пределами формы, я хочу добавить кнопку в виде href (URL), которая по видимому вызовет скрипт, а скрипт в этой уже существующей форме изменит
action на "http://yandex.ru/yandsearch"

name="q" на "text"

По функционалу это похоже на кнопку в поисковой выдаче яндекса которая внизу страницы
(Поискать «проверка» в других поисковых системах: Google Mail.ru Bing)
Ответить с цитированием
  #2 (permalink)  
Старый 08.02.2012, 02:04
Аватар для inst
Аспирант
Отправить личное сообщение для inst Посмотреть профиль Найти все сообщения от inst
 
Регистрация: 12.01.2012
Сообщений: 44

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
	<title>Поиск</title>
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 
	<style>
#yandexSearch
{
	cursor: pointer;
	border-bottom: 1px dashed;
}
	</style>

	<meta http-equiv="Content-Script-Type" content="text/javascript" />
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>

	<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
	<script>
$(document).ready(function () {
	document.getElementById('yandexSearch').onclick = function () {
		var search = this.parentNode.parentNode,
		    query = document.getElementById('query');
		search.action = 'http://yandex.ru/yandsearch';
		query.name = 'text';
		search.submit();
	};
});
	</script>
</head>
<body>

<form action="http://www.google.ru/search" target="_blank">
	<input id="query" type="text" name="q" />
	<input type="submit" value="Google!" />

	<div>
		<span id="yandexSearch">Поискать на Яндексе</span>
	</div>
</form>

</body>
</html>

Последний раз редактировалось inst, 08.02.2012 в 02:52. Причина: моя невнимательность
Ответить с цитированием
  #3 (permalink)  
Старый 08.02.2012, 03:01
Новичок на форуме
Отправить личное сообщение для comdex Посмотреть профиль Найти все сообщения от comdex
 
Регистрация: 08.02.2012
Сообщений: 3

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

<script type="text/javascript">
function s_google() {	om = document.getElementById('mscr');om.setAttribute("action","http://www.google.ru/search?");
					op = document.getElementById('presrc');op.setAttribute("name","");op.setAttribute("value","");
					ot = document.getElementById('memo');ot.setAttribute("name","q");}
function s_yandex() {	om = document.getElementById('mscr');om.setAttribute("action","http://yandex.ru/yandsearch");
					op = document.getElementById('presrc');op.setAttribute("name","");op.setAttribute("value","");
					ot = document.getElementById('memo');ot.setAttribute("name","text");}
function s_bing() {	om = document.getElementById('mscr');om.setAttribute("action","http://www.bing.com/search?");
					op = document.getElementById('presrc');op.setAttribute("name","");op.setAttribute("value","");
					ot = document.getElementById('memo');ot.setAttribute("name","q");}
</script>

<form id="mscr" action="http://www.google.ru/search?" target="_blank">
<input id="presrc" name="" value="" type="hidden"/>
<input id="memo" class="ta" name="q"/><br/>
<input class="btn_g" value="" type="submit" onclick="s_google();" title="Google Поиск - лучшая поисковая система" />
<input class="btn_y" value="" type="submit" onclick="s_yandex();" title="Яндекс Поиск - лучше искать в Google" />
<input class="btn_b" value="" type="submit" onclick="s_bing();" title="Bing Поиск - лучше искать в Google" />
</form>


Вот как это выглядит в итоге
Ответить с цитированием
  #4 (permalink)  
Старый 08.02.2012, 03:08
Новичок на форуме
Отправить личное сообщение для comdex Посмотреть профиль Найти все сообщения от comdex
 
Регистрация: 08.02.2012
Сообщений: 3

Сообщение от inst
<span id="yandexSearch">Поискать на Яндексе</span>
Спасибо за решение, проверил, действительно работает. Но забыл сказать что, хотелось бы на чистом js, так как страничка должна быстро грузиться, и ДжиКерри тут не помощник.

А если нет разницы зачем платить больше! Все равно спасибо.

З.Ы. - Разница конечно есть, сам просил чтобы Поиск на Яндексе, был в ввиде href, а сам же сделал input submit.
Но зато сам сделал!

Последний раз редактировалось comdex, 08.02.2012 в 03:11. Причина: Дошло
Ответить с цитированием
  #5 (permalink)  
Старый 08.02.2012, 14:24
Аватар для inst
Аспирант
Отправить личное сообщение для inst Посмотреть профиль Найти все сообщения от inst
 
Регистрация: 12.01.2012
Сообщений: 44

Да не, там jQuery только для кросс браузерной обработки события body.onLoad. Ненавязчивый JS и всё такое.

Легко отказаться от jQuery: достаточно содержимое функции $(document).ready перенести в конец формы.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос про null Arkinsstoun jQuery 5 04.01.2012 23:20
вопрос про создание переменной Gamestop Общие вопросы Javascript 2 04.09.2011 21:48
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Еще один вопрос по setTimeout setInterval Хранитель Света Общие вопросы Javascript 5 12.03.2009 22:37