Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637

    Recuperare valore di un campo con netscape e iframe!

    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
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: Recuperare valore di un campo con netscape e iframe!

    parli di NN6/7, vero?
    (NN4 non supporta iframe)

  3. #3
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    si parlo di nn6.
    Sapevo bene che nn non supportava gli iframe, ma adesso credo che siano una specie di arma a doppio taglio, infatti nel mio caso non posso usare il suo id per recuperare il valore di un campo al suo interno.
    Certo, per ora lo esclodo dalla select dell'iframe ed in caso di netscape lascio visualizzare un campo di testo nelo stessa pagina del modulo, però sarei curioso di sapere cosa prevede il suo dom in questi casi... in pratica, l'iframe lo visualizza, ma come lo interpreta?
    Non sono un grande esperto in javascript, ma la cosa mi incuriosisce molto
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    tra l'altro vorrei scusarmi
    nel codice ARegUt corrisponde al "moduloA".... è che il primo corrisponde al nome del mio vero modulo...
    Volevo semplificare, ma forse ho fatto il contrario!
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    x comodità moduloB è quello nella pagina contenuta nell' iframe
    codice:
    <script language="javascript" type="text/javascript">
    function inviaModulo() {
    var provincia=self.provincia.document.moduloB.provincia.options[self.provincia.document.moduloB.provincia.selectedIndex].value
    alert(provincia)
    }
    </script>
    <form name="moduloA">
    <iframe name="provincia" src="provincia.htm"></iframe>
    
    <input type="button" value="setta" onclick="inviaModulo()">
    </form>
    (le option devono avere ognuna un value, altrimenti sostituisci a .value .text)

    a me così con mozilla/NN7 funziona,
    certo che "provincia" ricorre un po' troppo nel codice,
    andrebbe evitato, anche solo x chiarezza nel debug

  6. #6
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    grazie Xinod
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.