HTML JS (вопрос - реализация форма поиска без рег. в гугле)
Новая тема Написать ответ
# Пн Авг 22, 2011 3:43 pmIseeDeadPeople Зарег.: 06.12.2005 ; Сообщ.: 21733Ответить с цитатой
надо на сайте реализовать поиск через гугля именно по сайту своему,
т.е. запрос должен быть такой:
site:domain.com key-1-2words++

ключ поиска будет вводить в простой форме,
типа так:

Код:
<form action=http://www.google.com/search method=get>
<input type="text" value="" size="25" name="q">
<input type="submit" value="Search" name="btnG">
</form>



и вот надо как то с помощью JS сделать чтобы серфер в строке поиска вбивал ключ (key-1-2words++), нажимал искать..
и открывалось новое окно выдачи по этой форме,
т.е. всего то задача средствами JS соединить имя переменной (q), то что ввел серфер в строке, и константу (site:ponydomain.com)
в формат

т.е. чтобы новое окно открылось с get-переменной q заполненной так:
site:ponydomain.com {а тут ключ который ввел серфер}

т.е. человек вводит в форме (переменная q) запрос на поиск,
жмет на ПОИСК кнопку,
и ему открываеться окно (новое окно!! не в той же "вкладке"), с линком составленным так:
http://www.google.com/search?q=site:domain.com+КЛЮЧ

т.е. просто при сабмите формы,
надо взять заполненное поле из форма name="q"
и открыть окно с путем:
http://www.google.com/search?q=site:domain.com+q_изФормы

я могу и сам дописать,
главное скажите каким JS взять поле из формы name="q"
ну и куда и какой JS вставить, чтобы поле выше соединялось с
http://www.google.com/search?q=site:domain.com+{тут вот стока из name="q"}
и открывалось в новом окне!?

__________


также, если человек будет искать того чего на сайте нет,
то какой параметр для гугля добавить - чтобы поиск строго по сайту, если на сайте нет, то ничего невыводить (сторонние ресурсы по кею) - или последнее невозможно!?
# Пн Авг 22, 2011 3:59 pmexolon Зарег.: 22.11.2007 ; Сообщ.: 2397Ответить с цитатой
IseeDeadPeople, Google CSE чем не подходит? Сможешь еще с кликов по адсенсу центики получать.

Цитата:
главное скажите каким JS взять поле из формы name="q"

Повесь на инпут id, а потом document.getElementById('xxxx').value Ну или getElementsByName если хочешь.
# Вт Авг 23, 2011 10:26 amIseeDeadPeople Зарег.: 06.12.2005 ; Сообщ.: 21733Ответить с цитатой
exolon писал(а):
IseeDeadPeople, Google CSE чем не подходит? Сможешь еще с кликов по адсенсу центики получать.

Цитата:
главное скажите каким JS взять поле из формы name="q"

Повесь на инпут id, а потом document.getElementById('xxxx').value Ну или getElementsByName если хочешь.




т.е. попробую сделать примерно так:


Код:

<script type="text/javascript">
function googlesearchf() {
window.open("http://www.google.com/search?q="+document.forms['googlesearchform'].name['q'].value, "_blank");
}
</script>

<form action="javascript:googlesearchf();" method="get" name="googlesearchform">
<input type="text" value="" size="25" name="q">
<input type="submit" value="Search" name="btnG">
</form>




единственно надо исправить:
document.forms['googlesearchform'].name['q'].value

и именно конец,
пробовал разные варианты написания, окно открывает где то, но q как undefined идет.

а вот твой вариант работает:
замена строки выше на:
window.open("http://www.google.com/search?q="+document.getElementById('q').value, "_blank");

но всетаки надо знать,
как захватить переменную в форме q
именно таким способом:
document.forms['googlesearchform'].name['q'].value !? - этот вариант дает ошибку.



_________


за пользовательские формы спасибо,
но хочеться самому реализовать.
# Вт Авг 23, 2011 3:35 pmexolon Зарег.: 22.11.2007 ; Сообщ.: 2397Ответить с цитатой
Код:
  <form id='theForm'
        action='http://www.google.com/search'
        method='GET' target='_new'>
          <label>Search for:
            <input type='text' name='q' id='txtSearch'></label>
          <input type='submit' id='btnSearch' value='Search'>
  </form>
<script>
window.onload = function() {
 
  document.getElementById('theForm').onsubmit = function() {
    var txt = document.getElementById('txtSearch');
    txt.value = "site:armadaboard.com " + txt.value;
  };
};
</script>



Подсмотрел тут
# Вт Авг 23, 2011 5:40 pmIseeDeadPeople Зарег.: 06.12.2005 ; Сообщ.: 21733Ответить с цитатой
exolon, спасибо,

это считай тот же вариант что и ты сказал, делаеться через туже переменную "document.getElementById",

но я думаю и твой метод, по переменной: document.getElementById('q').value
будет работать во всех браузерах!?

или для лучьшей кросс-совместимости сделать как я хотел изначально через document.forms['googlesearchform']... !?

_______

практически решено,

только если кто то знает как сделать тоже, как я хотел изначально через document.forms['googlesearchform'].... получить доступ к заполненному полю - отпишите, отпишите только концовку document.forms['googlesearchform']????
остальное все сам допишу.
# Вт Авг 23, 2011 6:41 pmexolon Зарег.: 22.11.2007 ; Сообщ.: 2397Ответить с цитатой
document.forms['MyForm']['q'].value
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.