Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Help, javascript!

    Ciao a tutti, sono nuovo del forum, questo è il mio primo messaggio!
    Il mio nick è stontonau (sicuramente qualcuno conosce il significato!!) ed ho un problema con un javascript.
    Il mio script è questo:
    codice:
    <script language="JavaScript"  type="text/javascript">
    <!--
    var prov=new Array();
       prov[0]=new Array("------");
    qui sopra c'è un array formato dalle province italiane
    
    function Riempi(source)
       {
       
         
         while (opener.document.pub.provincia.options.length > 0)
           opener.document.pub.provincia.options[0]=null;
         for (var i=0;i<prov[source].length;i++)
           window.opener.document.pub.provincia.options[i]=new Option(prov[source][i],prov[source][i]);
         
         opener.document.pub.provincia.options.selectedIndex=0;
          
       }
    
    
    function send(comune, provincia, regione) {
      
      if (window.opener && !window.opener.closed) { 
      
      window.opener.document.pub.comune.value = comune;   
        
        window.opener.document.pub.regione.value = regione;   
        
        Riempi(window.opener.document.pub.regione.options.selectedIndex);
        
        window.opener.document.pub.provincia.value = provincia;
    
      close();
    
    }
    //-->
    </script>
    Questo script è contenuto in una popup.
    Cosa fa questo script?
    Deve aggiornare i campi di una select con i campi provincia, comune, regione.
    Il mio problema è che lo script funziona con tutti i browser tranne uno, explorer (argh!!)..
    explore mi dice che l'errore è contenuto nella funzione send a questa linea: window.opener.document.pub.comune.value = comune;
    Esiste un'anima pia che può darmi un aiuto? E' da stamane che ci sbatto la testa!!!
    VI ringrazio in anticipo!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Benvenuto stontonau dai una guardatina al regolamento :rollo:

    Stai utilizzando lo stesso nome per le variabili e per i name del form.... devono essere univoci

    esempio:
    window.opener.document.pub.comune.value = w_comune;

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    Benvenuto stontonau dai una guardatina al regolamento :rollo:

    Stai utilizzando lo stesso nome per le variabili e per i name del form.... devono essere univoci

    esempio:
    window.opener.document.pub.comune.value = w_comune;

    ciao
    Grazie per la risposta!!
    A dire il vero non avevo letto il regolamento, sorry!!
    Sono stontonau!!
    Ho cambiato il nome delle variabili ed ora l'errore, sempre explorer, me lo da un pò più su:
    codice:
    function Riempi(source)
       {
       while (opener.document.pub.provincia.options.length > 0)
           opener.document.pub.provincia.options[0]=null;
         for (var i=0;i<prov[source].length;i++)
    ->>    window.opener.document.pub.provincia.options[i]=new Option(prov[source][i],prov[source][i]);
         
         opener.document.pub.provincia.options.selectedIndex=0;
          
       }
    L'errore ora è questo: window.opener.document.pub.provincia.options[i]=new Option(prov[source][i],prov[source][i]);
    P.S Avevo già cercato sul forum una risposta a questo problema ma non l'ho trovata...
    Grazie

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    L'erroe e' in quella linea, ma che tipo di errore?

    esiste l'indice source nell'array prov?

    ... ora che vedo meglio source e' una parola riservata in javascript... non puoi usarla come nome di variabile

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Originariamente inviato da br1
    L'erroe e' in quella linea, ma che tipo di errore?

    esiste l'indice source nell'array prov?

    ... ora che vedo meglio source e' una parola riservata in javascript... non puoi usarla come nome di variabile

    ciao
    Ci avevo pensato anch'io che source poteva essere una parola chiave e l'avevo cambiata. Non mi spiego comunque come faccia a funzionare con firefox.
    Quello che non fa su explorer e passare una variabile, le altre 2 le passa..

    Questa è la funzione Riempi
    codice:
    function Riempi(sorg)
       {
       
         
         while (opener.document.pub.provincia.options.length > 0)
           opener.document.pub.provincia.options[0]=null;
         for (var i=0;i<prov[sorg].length;i++)
           window.opener.document.pub.provincia.options[i]=new Option(prov[sorg][i],prov[sorg][i]);
         
         opener.document.pub.provincia.options.selectedIndex=0;
          
       }
    e l'indice lo dovrebbe prendere da qui
    codice:
    for (var i=0;i<prov[sorg].length;i++)
    Ma explorer ha tutti questi problemi con opener?
    Ciao...

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.