2009-09-16 2 views
0

У меня есть селектор выпадающего списка на месте, и мне нужно изменить его так, чтобы target = "_ blank", чтобы он открывал новую вкладку.Выпадающий селектор, изменить на цель = "_ blank"

Вот текущий код:

<SCRIPT TYPE="text/javascript"> 
<!-- 
function dropdown(mySel) 
{ 
var myWin, myVal; 
myVal = mySel.options[mySel.selectedIndex].value; 
if(myVal) 
    { 
    if(mySel.form.target)myWin = parent[mySel.form.target]; 
    else myWin = window; 
    if (! myWin) return true; 
    myWin.location = myVal; 
    } 
return false; 
} 
//--> 
</SCRIPT> 

<div id=countryselector> 
    <FORM 
     ACTION="../cgi-bin/redirect.pl" 
     METHOD=POST onSubmit="return dropdown(this.gourl)"> 
     <SELECT NAME="gourl"> 
      <OPTION VALUE="">Select a Country... 
      <OPTION VALUE="http://google.com">USA 
      <OPTION VALUE="http://google.ca">Canada 
     </SELECT> 
     <INPUT TYPE=SUBMIT VALUE="Go"> 
    </FORM> 
</div> 

Заранее спасибо

ответ

1
function dropdown(mySel) { 
    var myVal = mySel.options[mySel.selectedIndex].value; 
    if (myVal) { 
     if (mySel.form.target) { 
      window.open(myVal, mySel.form.target, '_attributes_'); 
     } else { 
      window.location.href = myVal; 
     } 
    } 
    return false; 
} 

Список _attributes_ можно найти here for Mozilla или here for IE. В некоторых доступных вариантах есть несколько отличий, поэтому лучше всего просмотреть оба списка.

Вы также можете оставить третий параметр отключения вызова функции, и он должен вести себя как target="_blank" на вашем <form>:

// behaves as if you submitted <form ... target="_blank">: 
window.open(myVal, mySel.form.target); 

Ниже приведен пример использования набора _attributes_ как описано на ссылки, представленные, чтобы открыть окно определенного размера и положения с конкретными частями UI подавлено:

// this opens a window that is 400 pixels by 300 pixels 
// it is positioned 100 pixels from the top and the left 
// it will have no statusbar, no menu but the new window will have a toolbar: 
window.open(myVal, mySel.form.target, 
    'height=300,width=400,top=100,left=100,statusbar=0,menu=0,toolbar=1'); 
+0

Я не могу заставить его работать ... должен ли он выглядеть следующим образом: функция выпадающего списка (mySel) { var myVal = mySel.options [mySel.selectedIndex] .value; if (myVal) { if (mySel.form.target) { window.open (myVal, mySel.form.target, 'target = "_ blank"'); } else { window.location.href = myVal; } } return false; } – BassKozz

+0

@BassKozz: Нет. '_attributes_' - это такие вещи, как' 'statusbar = 0, menu = 0, top = 10, left = 10'' (нет строки состояния в новом окне, нет меню, положение нового окна 10 пикселей сверху и слева). –

+0

Не работает ... window.open (myVal, mySel.form.target); Все еще открываю ссылку в том же окне. – BassKozz