Newsgroup: it.comp.lang.javascript
Titolo: HELP per script ok con IE k.o. con NN

Il seguente script prende il valore da un SELECT in una form e carica
una pagina in base a tale valore. 
Con IE4 funziona benissimo, invece con NN restituisce sempre un valore
NULL. 
Ovvero carica un indirizzo del tipo: deftecno.asp?p=NULL anziche' per
es. deftecno.asp?p=A1&s=90.
Sembra che non riesca a recepire il valore di
document.miaform.scelta.value
Qualcuno ci capisce qualcosa? Grazie a tutti!
<script language="javascript">
<!--
function conv()
{
location.href = deftecno.asp" + "?p=" + document.miaform.scelta.value
}
//-->
</script>
<FORM name="miaform">
	<input type="button" value="Invia" onclick="conv()">
	<select name="scelta" size="1">
        		<option value="A1&s=90">A1</option>
		<option value="A3&s=90">A3</option>
		<option value="A7&s=90">A7</option>
	</select>
</form>

per IE e per NN...
document.forms['miaform'].scelta.options[document.forms['mia
form'].scelta.selectedIndex].value
--
Bye
Ro<*¿*>berto

Questo funziona sia su NN che IE
<script language = "JavaScript">
///<!-- Stealth system On
function vai (position){
///dichiarazioni delle variabili
var intern=position
var c="document.select.quale"
var e=".options[document.select.quale"
var f=".selectedIndex].value"
var ndovado = eval(c+intern+e+intern+f)
///se viene selezionato qualcosa di diverso dal niente
if (ndovado!="#"){
window.location = ndovado
     }
  }
///stealth system off -->
</script>
Mentre nel body ci metterai:
<form name=select>
<ul><ul><ul>
<select cols=50 name=qualea onchange="vai('a')" >
<option name=0 value="#" length=30>Titolo del form Select</option>
<option name=0 value="Indirizzo uno">Titolo uno</option>
<option name=0 value="Indirizzo due">Titolo due</option>
<option name=0 value="Indirizzo puntini">Puntini</option>
<option name=0 value="Indirizzo ennesimo">Titolo Ennesimo</option>
<option name=0
value=""><option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</option>
</select>
</form>
Funzionamento:
Se qualcosa cambia nel campo Select in cui si verifica l'evento onChange
viene chiamata la funzione vai() col valore passato = ad 'a', la funzione
prende questo valore e lo chiama "position", tra poco saprai a cosa serve
(se non lo hai gia' capito), vengono definite delle variabili interne che
servono a comporre l'indirizzo della proprieta' da leggere (lo script lo
avevo creato qualche mese fa' prima che scoprissi quanto e' divertente
programmare ad oggetti con JavaScript) e aggiungendo la lettera 'a' nel
punto giusto spedisce la finestra corrente alla locazione indicata
nell'attributo "value" del
tag option selezionato, per l'esattezza: la riga "eval(eccetera) se intern=a
diventa:
document.select.qualea.options[document.select.qualea.selectedIndex].value
cioe' la versione javaScript di quel che ho detto prima, mentre se intern=b
(e c'e' un altro menu' a tendina che si chiama qualeb che onChange chiama
vai('b'); ) diventa
document.select.qualeb.options[document.select.qualeb.selectedIndex].value
eccetera.
L'ultima riga del tag select e' piena di spazi perche' e' l'unico modo che
ho trovato per far apparire tanti menu' a tendina tutti lunghi uguali.
--
La Forza dei Forti sta nell'Attraversare le Traversie con occhio sereno.
(Paperinik)
Nettuno

value=""><option>&
se usi il metodo (ndovado!="#")
devi dare anche a questa option value="#"
