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

    IE7: if (variabile != null) - non va

    Strane cose succedono nel mondo IE.

    ho una variabile che può assumare valore null e una struttura di controllo si occupa di verificare se detta variabile esista o meno

    avevo fatto così:

    if (variabile) {...}

    in FF funziona come dovrebbe ma in explorer no
    sono impazzito per trovare il problema (grazie alla gestione degli errori di IE) ma alla fine provando la seguente struttura il tutto ha funzionato:

    if(name != 'null') {}

    la cosa assurda è che IE converte null in stringa, e ovviamente firefox non gradisce!!!

    la variabile dovrebbe essere null e non 'null', perchè IE fa così?
    Arjuna

    finding solutions

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ho provato ma non mi risulta :master:


    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    var variabile = null;
    function Button1_onclick() 
    {
        if(variabile != null) 
            alert("variabile != null");
        else
            alert("variabile == null");
    }
    
    // ]]>
    </script>
    </head>
    <body>
        <input id="Button2" type="button" value="imposta variabile" onclick="variabile=1999" />
        <input id="Button1" type="button" value="verifica" onclick="return Button1_onclick()" />
    </body>
    </html>
    Pietro

  3. #3

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

    Re: IE7: if (variabile != null) - non va

    Originariamente inviato da 99caos
    if(name != 'null') {}

    la cosa assurda è che IE converte null in stringa, e ovviamente firefox non gradisce!!!
    cosi' come hai scritto cerchi di verificare che non sia la stringa "null", ben diverso da null

    a mali estremi verifica il typeof della variabile, che restituisce una stringa

  5. #5
    Credo che il problema nasca da MooTools.
    l'assegnazione del valore della variabile avveniva tramite un metodo esteso di String da tramite mootools.
    Detto metodo (creato da me) restituiva una stringa o null, ma probabilmente su Explorer visto che è la classe nativa String che viene invocata sarà effettuata una conversione implicita toString visto che typeOf risulta string (mentre su FF risulta boolean).

    Visto questo ho modificato il metodo esteso e come return prendo solo una stringa, poi esternamente faccio un secondo controllo per verificarne la validità.
    Arjuna

    finding solutions

  6. #6

    Re: Re: IE7: if (variabile != null) - non va

    Originariamente inviato da Xinod
    cosi' come hai scritto cerchi di verificare che non sia la stringa "null", ben diverso da null

    a mali estremi verifica il typeof della variabile, che restituisce una stringa
    ho scritto male, volevo dire che nell'assegnazione del valore della variabile IE convertiva null in 'null' e che quindi il controllo mi funzionava con (variabile != 'null') cosa che ovviamente su FF non funziona
    Arjuna

    finding solutions

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.