Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problemi di compatibilità

    Ciao a tutti, sono un neofita di javascript ed ho questo problema:
    ho creato uno script che in base al valore di una select(in cui ci sono le regioni d'Italia) popola un'altra select con delle options che corrispondono alle province della regione scelta.

    Con internet Explorer tutto oK!
    Con firefox non funziona.

    Qualche anima buona riesce ad aiutarmi?

    Può essere che la cosa sia già stata discussa, e se così fosse vi prego di scusarmi e di indirizzarmi verso la discussione. :master:

    Ringrazio tutti per la pazienza e la cortesia.
    Immagini allegate Immagini allegate
    La fortuna di noi ignoranti è di avere sempre qualcosa da imparare!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Se magari ci aggiungi il codice possiamo vedere doce sta l'inghippo
    Di solito ho il problema opposto (le cose mi funzionano su firefox e non mi funzionano su IE)

  3. #3
    Ok! di seguito il codice che funziona con explorer

    <SCRIPT>
    <!--
    var prov=new Array();
    prov[0]= new Array("Chieti","L'Aquila","Pescara","Teramo"); //Abruzzo
    prov[1]= new Array("Matera","Potenza"); //Basilicata
    prov[2]= new Array("Catanzaro","Cosenza","Crotone","Reggio Calabria","Vibo Valentia"); //Calabria
    prov[3]= new Array("Avellino","Benevento","Caserta","Napoli","S alerno"); //Campania
    prov[4]= new Array("Bologna","Ferrara","Forlì - Cesena","Modena","Parma","Piacenza","Ravenna","Reg gio Emilia","Rimini"); //Emilia Romagna
    prov[5]= new Array("Gorizia","Pordenone","Trieste","Udine"); //Friuli Venezia Giulia
    prov[6]= new Array("Frosinone","Latina","Rieti","Roma","Viterbo "); //Lazio
    prov[7]= new Array("Genova","Imperia","La Spezia","Savona"); //Liguria
    prov[8]= new Array("Bergamo","Brescia","Como","Cremona","Lecco" ,"Lodi","Mantova","Milano","Pavia","Sondrio","Vare se"); //Lombardia
    prov[9]= new Array("Ancona","Ascoli Piceno","Macerata","Pesaro Urbino"); //Marche
    prov[10]=new Array("Campobasso","Isernia"); //Molise
    prov[11]=new Array("Alessandria","Asti","Biella","Cuneo","Novar a","Torino","Verbania","Vercelli"); //Piemonte
    prov[12]=new Array("Bari","Brindisi","Foggia","Lecce","Taranto" ); //Puglia
    prov[13]=new Array("Cagliari","Nuoro","Oristano","Sassari"); //Sardegna
    prov[14]=new Array("Agrigento","Caltanisetta","Catania","Enna", "Messina","Palermo","Ragusa","Siracusa","Trapani") ; //Sicilia
    prov[15]=new Array("Arezzo","Firenze","Grosseto","Livorno","Luc ca","Massa Carrara","Pisa","Pistoia","Prato","Siena"); //Toscana
    prov[16]=new Array("Bolzano","Trento"); //Trentino Alto Adige
    prov[17]=new Array("Perugia","Terni"); //Umbria
    prov[18]=new Array("Aosta"); //Valle d'Aosta
    prov[19]=new Array("Belluno","Padova","Rovigo","Treviso","Venez ia","Verona","Vicenza"); //Veneto


    function Riempi1(source)
    {
    with (document.modulo1.Provincia)
    {
    while (options.length > 0)
    options[0]=null;
    for (i=0;i<prov[source].length;i++)
    options[i]=new Option(prov[source][i])
    options.selectedIndex=0;
    }
    }
    La fortuna di noi ignoranti è di avere sempre qualcosa da imparare!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Ora è più chiaro
    Usi un codice totalmente proprietario che non rispetta alcuno standard dettato dal W3C

    L'accesso ad un elemento dei una pagina non andrebbe fatto tramite
    document.modulo1.Provincia

    ma tramite

    document.getElementById("modulo1").getElementById( "Provincia")

    L'aggiunta andrebbe fatta tramite i metodi "appendChild" e "createElement" e così via
    E' ovvio che con lo stile che usi vai incontro a problemi di compatibilità

    Ti consiglio di leggere la "guida DOM" presente sul sito

  5. #5
    Grazie per la tempestiva risposta Leilond.

    Farò come mi hai consigliato. Purtroppo come ho già detto sono un neofita autodidatta e quindi mi appoggio a chi come te ne sà di più.
    La fortuna di noi ignoranti è di avere sempre qualcosa da imparare!!

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusate ma qui si prendono fischi per fiaschi...
    il fatto che non si acceda ad elementi di un form tramite getElementById('id') non vuole automaticamente dire che si stiano usando metodi proprietari
    il fatto che non si creino specifici nuovi elementi con createElement + appendChild non vuole automaticamente dire che si stiano usando metodi proprietari

    esiste il buon vecchio javascript, universalmente supportato da browser antichi e moderni, che ha una sintassi per accedere ai form e agli elementi di questo (via name o per indice nel relativo array) e un costruttore Option

    sintassi correttamente seguite nello script postato da CrastoMarco
    che mi risulta funzionare perfettamente anche in Firefox, come e' lecito attendersi

    quindi l' errore o gli errori sono altrove,
    per es. in grassetto ti ho evidenziato un possibile errore: segni nel markup solo gli id e provi ad accedervi via name, IE non batterebbe ciglio in questo caso, prendendosi una liberta' grossa come una casa dove gli altri browser non si permetterebbero mai...
    ciao

  7. #7
    Grazie per i cosigli, proverò a ricontrollare lo script nei termini che mi hai descritto Xinod.
    Comunque ho cominciato a dare un occhuata alla guida sul DOM che in ogni caso è utilissima.
    La fortuna di noi ignoranti è di avere sempre qualcosa da imparare!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    IE non batterebbe ciglio in questo caso, prendendosi una liberta' grossa come una casa dove gli altri browser non si permetterebbero mai...
    E' proprio quello di cui parlo, anche se con parole diverse
    "Il buon vecchio javascript", come lo chiami tu, è pieno zeppo di "roba" non supportate da questo o quel browser. La cosa migliore è tenersi stretti allo standard W3C e testare continuamente su vari browser

  9. #9
    Se può interessare, io ho trovato questo ottimo articolo che mi ha aiutato un sacco nel passaggio di 'filosofia':

    - http://icant.co.uk/articles/from-dht...scripting.html


  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Leilond
    E' proprio quello di cui parlo, anche se con parole diverse
    "Il buon vecchio javascript", come lo chiami tu, è pieno zeppo di "roba" non supportate da questo o quel browser.
    non e' questione di parole, e' errato il concetto che hai ribadito qui sopra:
    IE potra' essere pieno zeppo di "roba" non supportate da questo o quel browser.
    "Il buon vecchio javascript" e' universale.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.