• Super User

    JS: Necessario oggetto in IE

    MaledettoIeEcchillhacreato mi ha dato un problema a differenzxa di Mozzilla che non riesco a risolvere:

    function openSubm(subname){
        var Submenu=document.getElementById(subname); //id del submenu da aprire
        //IE*
        if(Submenu.currentStyle){
            var displayStatus=Submenu.currentStyle.display;
            if(displayStatus=='none'){
                Submenu.style.display='block';
                Submenu.style.visibility='visible';
                for(var i=1;i<=4;i++){
                    var controllo=document.getElementById('sub'+i);
                    if (subname != ***controllo.id***)
                        controllo.style.display='none';
                }
            }else{
                Submenu.currentStyle.display='none';
            }
        }
    }
    ```L'errore me lo da sulla variabile comparata "controllo.id" che vi ho segnato nel codice.
    Indipendentemente dalla funzionalità dello script vorrei capire perchè IE non rileva il suo valore mentre Mozilla si.
    
    Se faccio un alert sul controllo.id prima dell'if me lo rileva, quando lo metto al suo interno invece mi da errore "**Necessario oggetto** alla riga...".
    
    La variabile inciminata è quella poichè se lo sostituisco con una stringa (es: "sub1") funziona tutto. Altrimenti no >_>
    
    Idee?

  • User

    @karedas said:

    MaledettoIeEcchillhacreato mi ha dato un problema a differenzxa di Mozzilla che non riesco a risolvere:

    >function openSubm(subname){
        var Submenu=document.getElementById(subname); //id del submenu da aprire
        //IE*
        if(Submenu.currentStyle){
            var displayStatus=Submenu.currentStyle.display;
            if(displayStatus=='none'){
                Submenu.style.display='block';
                Submenu.style.visibility='visible';
                for(var i=1;i<=4;i++){
                    var controllo=document.getElementById('sub'+i);
                    if (subname != ***controllo.id***)
                        controllo.style.display='none';
                }
            }else{
                Submenu.currentStyle.display='none';
            }
        }
    }
    >```L'errore me lo da sulla variabile comparata "controllo.id" che vi ho segnato nel codice.
    Indipendentemente dalla funzionalità dello script vorrei capire perchè IE non rileva il suo valore mentre Mozilla si.
    
    Se faccio un alert sul controllo.id prima dell'if me lo rileva, quando lo metto al suo interno invece mi da errore "**Necessario oggetto** alla riga...".
    
    La variabile inciminata è quella poichè se lo sostituisco con una stringa (es: "sub1") funziona tutto. Altrimenti no >_>
    
    Idee?
    
    L'errore sembrerebbe che manchi l'oggetto :D a parte il giro di parole sicuro d'aver assegnato l' id  al campo?
    es: <input name="sub1" type="text" id="sub1" />:fumato:

  • Super User

    No l'id c'è, in Firefox funziona perfettamente , in Explorer funziona ma mi genera un errore senza motivo -.-