Еще один вопрос про 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, время: 16:21. |