Lo scopo del mio codice è quello di sceglerie una nazione da una select e far comparire a financo un'altra select con le relative province. Ci sono abbastanza modi per poterlo fare, più o meno dispendiosi e tra quelli che ho già provato intendevo aggiungere un'altro ma c'è un problema con netscape!!!
Ho una pagina chiamata "registrazioneA.asp". All'interno di questa pagina esiste un modulo chiamato "moduloA" ed un iframe chiamato "provincia".
Ora, tra i vari campi del modulo si trova la select "nazione", alla quale è stato associato l'evento onChange.
L'evento onChange richiama una funzione chiamata aggiorna().
function aggiorna(){
var nazione = document.ARegUt.nazione.value
if ((nazione == "Italia") || (nazione == "Afghanistan")){
parent.provincia.location.href = "province" + '/' + nazione + ".html"
}
else{
...carica pagina con semplice campo di testo....
}
}
Come è facile capire, la funzione aggiorna() carica all'interno dell'iframe "provincia", che si trova nel "moduloA" della pagina "registrazioneA.asp", una paginetta (relativa alla nazione scelta) che contiene una semplice select con le relative province.
Ok, fin quì tutto bene sia in netscape che in IE.
Ricapitolando. Noi abbiamo
una pagina: registrazioneA.asp
un modulo: moduloA
un iframe: provincia
una select all'interno dell'iframe provincia chiamato anch'esso: provincia.
Codice di invio del modulo:
function invioModulo() {
var nazione = document.ARegUt.nazione.value
var provincia = document.provincia.provincia.value
if ((nazione == "") || (nazione == "undefined")){
alert("Specificare la nazione di residenza");
document.ARegUt.nazione.focus();
eturn false;
}
else if ((provincia == "----") || (provincia == "") || (provincia == "undefined")){
alert("Specificare la provincia di residenza");
document.provincia.provincia.focus();
return false;
}
else {
document.moduloA.action = "elabora_paginaA.asp?prov=" + provincia;
document.moduloA.submit();
}
}
Soltanto netscap non eseguirà la validazione e l'invio sino a quando non toglierò:
var provincia = document.provincia.provincia.value
ovvero nn non riesce a recuperare il valore del campo "provincia" che si trova nell'iframe provincia, che si trova nel documento corrente.
Per molti sarà semplice e lampate, io non capisco se il problema nasce dal DOM di nn che è diverso da IE... qualcuno ha una soluzione? Come posso recuperare con nn il valore di un campo inserito nel modulo del documento attraverso un iframe?
Grazie