Еще один вопрос про 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) |
<!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>
|
Сам справился, если кому интересно, вот мое решение, может быть это и костыли самые тупые, но мне тут предложили попробовать сделать на 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>
Вот как это выглядит в итоге ![]() |
Цитата:
А если нет разницы зачем платить больше! Все равно спасибо. З.Ы. - Разница конечно есть, сам просил чтобы Поиск на Яндексе, был в ввиде href, а сам же сделал input submit. Но зато сам сделал! |
Да не, там jQuery только для кросс браузерной обработки события body.onLoad. Ненавязчивый JS и всё такое.
Легко отказаться от jQuery: достаточно содержимое функции $(document).ready перенести в конец формы. |
| Часовой пояс GMT +3, время: 13:23. |