HTML: target = "_ blank" для раскрывающегося списка - PullRequest
0 голосов
/ 12 июля 2009

Проблема: , чтобы открыть новое окно с опцией выбора -option

<form onsubmit="return handleSubmit()" target="_blank" method="get" name="moduleForm" id="moduleForm">
<font size=2 face = verdana color= #0000ff ><b>Search</b></font>

    <select name="allSelect" id="allSelect">
    <optgroup label="Historical">
    <option value="http://www.something.com/cse?cx=0000000000000&sa=Search&q=">Open in a new window 1</option>
    <option value="http://www.google.com/cse?cx=0000000000000000A-cmjrngmyku&ie=UTF-8&sa=Search&q=">Open in a new window 2</option>
    </optgroup>
    </select>

<input type="text" name="allQuery" id="allQuery" size="22" />
<input type="submit" value=" Go " />

Вопрос: Как открыть содержимое в новом окне с помощью поля выбора?

Ответы [ 4 ]

1 голос
/ 12 июля 2009

Изменить вашу handleSubmit функцию следующим образом:

function handleSubmit()
{
    var form = _gel("moduleForm"),
        elm = _gel("allQuery"),
        selectElm = _gel("allSelect");
    if (elm != "" && selectElm != "") {
        var query = elm.value;
        var searchUrl = selectElm.value;
        if (query != "" && searchUrl != "") {
            searchUrl += escape(query);
            window.open(searchUrl, form.target || "_blank");
        }
    }
    return false;
}
1 голос
/ 12 июля 2009

Посмотрите на функцию window.open .

1 голос
/ 12 июля 2009

Имейте в виду, что ваша страница должна быть пригодна для использования без использования сценариев, поэтому я рекомендую реализовать резервный механизм: форма должна вызывать сценарий на стороне сервера, который отвечает со статусом 30x и заголовком Location.

Клиентская сторона будет выглядеть так:

<form action="path-to-redirection-script" method="GET" target="_blank"
 onsubmit="window.open(this.elements['foo'].value); return false;">
 <select name="foo" size="1">
  <option value="http://google.com">google</option>
 </select>
 <input type="submit" value="go">
</form>

Также помните, что target="_blank" / window.open() часто является злом .

1 голос
/ 12 июля 2009

Вы можете открыть свои ссылки с помощью window.open ():

<select name="allSelect" id="allSelect">
<optgroup label="Historical">
<option value="http://www.something.com/cse?cx=0000000000000&sa=Search&q=">Open in a new window 1</option>
<option value="http://www.google.com/cse?cx=0000000000000000A-cmjrngmyku&ie=UTF-8&sa=Search&q=">Open in a new window 2</option>
</optgroup>
</select>

<input type="button" 
    value="open in a new window" 
    onclick="window.open(document.getElementById(allSelect).value);" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...