Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243

    Ahh Problemi di scope/visibilità

    scusate ragazzi, ma non riesco proprio a capire il perché!!!
    ho questo semplice codice che carica dei nomi da un file php, il passaggio funziona, va tutto, solo che non so perchè la visibilità della variabile tot scompare quando faccio il for !!!!!
    se faccio un trace sopre mi dice "undefined".....perché ???



    Codice PHP:
    var getParties:Object = new LoadVars();
    _global.partiesData = new Array();

    function 
    MyLoadVarsOnLoad() {
        
    tot this["total"];
        if (
    tot<1) {
            
    trace("no data");
        } else {
            
    partiesData["total"] = this["total"];
            for (
    i=1i<=tot i++) {
                
    partiesData["name_"+i] = this["name_"+i];
                
    trace(partiesData["name_"+i]);
            }
        }
    }
    function 
    LoadData() {
        
    getParties.load("http://localhost/prova_sito/web/local.php");
    }
    getParties.onLoad MyLoadVarsOnLoad

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    cioè quando entro nel blocco ELSE la variabile tot, è già sparita!!!!

    É possibile o sono io che ho sbagliato qualcosa?

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non c'è la parte del success
    codice:
    var getParties:Object = new LoadVars();
    _global.partiesData = new Array();
    function MyLoadVarsOnLoad(success) {
        if(success)
            tot = this["total"];
            if (tot<1) {
                trace("no data");
            } else {
                partiesData["total"] = this["total"];
                for (i=1; i<=tot ; i++) {
                    partiesData["name_"+i] = this["name_"+i];
                    trace(partiesData["name_"+i]);
                }
            }
        }
    }
    function LoadData() {
        getParties.load("http://localhost/prova_sito/web/local.php");
    }
    getParties.onLoad = MyLoadVarsOnLoad;
    prova così

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    hehehe........

    NON VA!!!!!!!!!!!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    la stessa cosa adesso mi capita quando carico un dato numerico esterno, ad es loaddata["tot"],
    ecco non riesco ad utilizzarla per ciclare, perché non è un numero!! boh!


  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    LoadVars restituisce i dati sottoforma di stringa, perciò per utilizzarlo come numero dovresti usarlo così --> Number(loaddata["tot"])

    idem evidentemente per la parte iniziale, non è un problema di scope, ma di tipo

    tot = Number(this["total"]);

    [edit] ho notato solo ora un errore nel codice

    var getParties:Object = new LoadVars();

    è sintatticamente scorretto, getParties è un'istanza di LoadVars, non di Object

    var getParties:LoadVars = new LoadVars();

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    avevo intuito questa strada ma provando con l'operatore instanceof non ho nulla di numerico, così:

    trace(new Number(loaddata["tot"]) instanceof Number);

    output: false


  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da ascip
    avevo intuito questa strada ma provando con l'operatore instanceof non ho nulla di numerico, così:

    trace(new Number(loaddata["tot"]) instanceof Number);

    output: false

    ho editato...

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    243
    purtroppo non va cmq.........

    Object è l'oggetto base di AS, quindi può ereditare qualsiasi altro oggetto (come in java se hai presente) quindi non è sicuramente lì il problema!

    se ci fosse un'struzione per convertire una stringa in un numero......
    sarei a posto!

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da ascip
    purtroppo non va cmq.........

    Object è l'oggetto base di AS, quindi può ereditare qualsiasi altro oggetto (come in java se hai presente) quindi non è sicuramente lì il problema!

    se ci fosse un'struzione per convertire una stringa in un numero......
    sarei a posto!
    questo lo sò, ma per correttezza nella scrittura del codice è preferibile dichiarare l'istanza per quello che è realmente

    l'istruzione c'è, ed è quella che già ti ho descritto... non capisco proprio quale sia il problema :master: il tuo codice è tutto lì?

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.