Altra funzione utile può essere quella che consente di inviare i documenti in una finestra esterna tramite un menu a discesa. In questo caso lo script è:

<HTML>
<HEAD>
<TITLE>
esempio di menu</TITLE>
<SCRIPT LANGUAGE='JavaScript'>
<!--

function MakeArray() {
var lngth = MakeArray.arguments.length;
for ( i = 0 ; i<lngth ; i++ ) { this[i]=MakeArray.arguments[i] }
}

function prima() {
var select = eval(document.menuform.elements[0].selectedIndex);
if( (select >0) && (select<4) ) {
var intl=new MakeArray( '','documentoA.html','documentoB.html','documentoC.html');
var nuove=intl[document.menuform.elements[0].selectedIndex];
var finestra = window.open(nuove,"documenti","Toolbar=no,status=no,scrollbars=yes, resizable=yes,menubar=yes,height=500,width=500");
finestra.focus();
}
}
function seconda() {
var select = eval(document.menuform.elements[1].selectedIndex);
if( (select >0) && (select<5) ) {
var intl=new MakeArray(
'','documento1.html','documento2.html','documento3.html','documento4.html');
var nuove=intl[document.menuform.elements[1].selectedIndex];
var finestra = window.open(nuove,"documenti","Toolbar=no,status=no,scrollbars=yes, resizable=yes,menubar=yes,height=500,width=500");
finestra.focus();
}
}
//-->
</SCRIPT>

</HEAD>
<BODY>
<P ALIGN=CENTER>
<B> Esempio di menu a discesa: </B>
<FORM NAME="menuform">
<SELECT NAME="primoMenu" onChange='prima();' >
<option selected> PRIMO MENU
<option> documento A
<option> documento B
<option> documento C
</select>
<SELECT NAME="secondoMenu" onChange='seconda();'>
<option selected> SECONDO MENU
<option> - documento 1
<option> - documento 2
<option> - documento 3
<option> - documento 4
</SELECT>
</form>
</BODY>
</HTML>

Senza addentrarci molto nell'interpretazione dello script, prendiamo nota della presenza di tre funzioni:
- la funzione MakeArray() provvede, incrementando la variabile i, ad analizzare le voci del menu;
- la funzione prima(), con elements[0] in var select , gestisce il primo menu, con la condizione che l'elemento selezionato sia compreso tra 0 e 4;
- la funzione seconda(), con elements[1] in var select , gestisce il secondo menu, con la condizione che l'elemento selezionato sia compreso tra 0 e 5;
Le funzioni prima() e seconda() vengono richiamate da <FORM NAME="menuform"> quando viene cambiata la selezione rispettivamente nel primo menu (<SELECT NAME="primoMenu" onChange='prima();' >) o nel secondo (<SELECT NAME="secondoMenu" onChange='seconda();' >). Il risultato dello script viene riportato di seguito.

Esempio di menu a discesa:
finestre esterne - pagine a volo - javascript