Newsgroup: it.comp.lang.javascript
Titolo: come andare ad un acoraggio????

Volevo inserire un menù a tendina e ho trovato il seguente script però
anzichè indirizzare la scelta ad un altra pagina volevo indirizzarla ad un
acoraggio della pagina stessa, come devo modificare lo script per farlo????
grazie ciao
<script>
function listThem() {
 if (document.chooser.sitelist.selectedIndex == 0) alert("Please select
something");
 else if (document.chooser.sitelist.selectedIndex == 1) location =
'servizi.htm';
 else if (document.chooser.sitelist.selectedIndex == 2) location =
'siti.htm';
 else if (document.chooser.sitelist.selectedIndex == 3) location =
'navigationaids.htm';
 }
</script>
 </head>
--
                           Miglio
 
mmi...@scotty.masternet.it
       "Verrà tempo in cui i nostri posteri
         si stupiranno che non sapessimo
         cose tanto ovvie"

facile basta ancorare la parola alla fine del URL di navigazione esempio :
bye bye glassman
<script>
function listThem() {
 if (document.chooser.sitelist.selectedIndex == 0)
alert("Please select something");
 else if (document.chooser.sitelist.selectedIndex == 1) location =
'nomepaginadinavigazione.html#uno';
 else if (document.chooser.sitelist.selectedIndex == 2) location =
'nomepaginadinavigazione.html#due';
 else if (document.chooser.sitelist.selectedIndex == 3) location =
'''nomepaginadinavigazione.html#tre';
 }
</script>
<form  name=chooser>
<select name=sitelist>
<option value=0>zero</options>
<option value=1>uno</options>
<option value=2>due</options>
<option value=3>tre</options>
<input type="button"
value=selezionare onclick="listThem()">
</select>
</form>

Per motivi di compatibilitą perņ ti consiglio di usare la seguente sintassi
.
BYE BYE GLASSMAN
<script language = "JavaScript">
function navigate(){
var URL =
document.tuoform.selezionatore.options[document.tuoform.selezionatore.select
edIndex].value
window.location.href = URL
}
</script>
<FORM name = "tuoform">
<SELECT NAME="selezionatore" SIZE=1 onChange ="navigate()">
<OPTION VALUE="paginadinavigazione#pippo">Pippo
<OPTION VALUE="minareto.html#franco">Franco
<OPTION VALUE="minareto.html#enzo">Enzo
<OPTION VALUE="minareto.html#gino">Gino
<OPTION VALUE="minareto.html#mario">Mario
</SELECT>
</FORM>


document.tuoform.selezionatore.options[document.tuoform.selezionatore.select
edIndex].value
indicando: errore previsto ']', come sistemo la cosa???
e ormai che ci sono chiedo unn altra cosa, se il menù a tendina in un frame
come faccio a caricare la pagina desiderata in un secondo frame, sempre
andando ad un specifico ancoraggio???
Ti informo anche che la prima soluzione che mi avevi indicato l'avevo già
provata ma non funziona ugualmente, problema di IE???
grazie, ciao


ti dà errore perchè devi stare attento ai ritorni a capo, questa riga è
unica, in questa maniera:
document.tuoform.selezionatore.options[document.tuoform.selezionatore.select
edIndex].value
per il frame devi usare al posto di questa riga di codice :
<< window.location.href = URL<<<
questa:
parent.frames['nomedelframe'].location.href = URL
bye bye glassman

Sono ancora qui!!! non riesco a farlo funzionare, ho scritto una pagina con
due frame, nel primo c'è il menù a tendina nel secondo deve comparuire la
scelta del menù e ho fatto così:
<frameset frameborder=0 border=1 Framespacing=0 rows=20%,*>
<script language = "JavaScript">
function navigate(){
var URL =
document.formsicurezza.selezionatore.options[document.formsicurezza.selezion
atore.selectedIndex].value
parent.frames.['2'].location.href = url
}
</script>
<FORM name = "formsicurezza">
<SELECT NAME="selezionatore" SIZE=1 onChange ="navigate()">
<OPTION VALUE="servizi.htm#v">Pippo
<OPTION VALUE="servizi.htm#valutazione dei rischi">Franco
<OPTION VALUE="servizi.htm#valutazione dei rischi">Enzo
<OPTION VALUE="servizi.htm#valutazione dei rischi">Gino
<OPTION VALUE="servizi.htm#valutazione dei rischi">Mario
</SELECT>
</FORM>
<frameset frameborder=0 border=1 Framespacing=0>
<frame scrolling="no" name=2>
</frameset>
</frameset>
come vedi ho inserito lo script da te indicato, ma sul rigo
parent.frames.['2'].location.href = url
mi da errore "previsto identificatore" all'altezza del n° 2
come risolvo???
ancora grazie, ciao




il codice non devi inserirlo nel tag FRAMESET,  ma nella pagina 'html'
denominata nel FRAME esempio:
pagina principale:
index.html
<FRAMESET ROWS="155,*" BORDER=0 FRAMEBORDER=1 >
<FRAME SRC="testa.html" SCROLLING="NO" NORESIZE="NO" name="testa">
<FRAMESET COLS="30%,*" BORDER=0 FRAMEBORDER=0>
<FRAME SRC="sinistro.html" NORESIZE="NO"scrolling="IES">
<FRAMESET COLS="100%,*" BORDER=0 FRAMEBORDER=0 >
<FRAME SRC="centrale.html" name="centrale">
</frameset>
</frameset>
</frameset>
ipotesi che tu voglia navigare nel frame centrale.html con il controllo nel
frame sinistro.html (dove c'è il select).
prendi la pagina che hai creato sinistro.html e inserisci il codice che ti
ho postato, considerando sempre che devi mettere anche le ancore nel frame
centrale.html  ((esempio <a NAME="doveroso"></a>)) alle parole
corrispondenti.
spero di essere stato abbastanza chiaro.
<html>
<title>frame sinistro</title>
<script language = "JavaScript">
function navigate(){
var URL =
document.tuoform.selezionatore.options[document.tuoform.selezionatore.select
edIndex].value
parent.frames['centrale'].location.href = URL
}
</script>
<FORM name = "tuoform">
<SELECT NAME="selezionatore" SIZE=1 onChange ="navigate()">
<OPTION VALUE="centrale.html#doveroso">Pippo
<OPTION VALUE="centrale.html#ammontare">Franco
<OPTION VALUE="centrale.html#durata">Enzo
<OPTION VALUE="centrale.html#SEDE">Gino
<OPTION VALUE="centrale.html#mario">Mario
</SELECT>
</FORM>
</html>
bye bye glassman

Ho seguito le tue istruzioni ma una volta fatta la scelta nel menu a tendina
del frame n° 1 non si apre la pagina desiderata nel frame n° 2, riporta il
seguente errore a questa riga:
parent.frames['descrizi'].location.href = URL
indicando che non è un oggetto (descrizi è il nome del frame)
sperando che questa sia l'ultima volta, grazie
ciao
