Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832

    [JS o AJAX?] Variabile globale undefined

    ciao e scusate il dubbio sulla pertinenza dell'argomento.
    avrei bisogno di mantenere delle informazioni sullo stato di un contatore.
    ho imparato con successo, grazie a Voi, che basta dichiarare la variabile globale al di fuori delle funzioni ed il gioco è fatto.

    ora sto lavorando con una funzione ajax che deve popolare una tabella in modo diverso a seconda del contatore esterno.
    cioè, IF contatore == 0 fa qualcosa, ELSE fa qualcos'altro.

    il punto è che se dichiaro il contatore fuori dalla funzione lo script si blocca e mi dice che la variabile è undefined
    codice:
    //uniche due globali definite
    var xmlHttp;
    var cont;
    
    function altre_funzioni()
    ...
    }
    
    function ajax(sex,num){ 
    	var url="incs/genera_nome.php?_G&s=" + sex + "&n=" + num;
    	xmlHttp=GetXmlHttpObject(stateChanged)
    	xmlHttp.open("GET", url , true)
    	xmlHttp.send(null)
     
    } 
    
    function stateChanged()	{ 
     if(cont == 0){ //<-- ECCOLA
    //etc
    ...
    la metto ALL'INIZIO del file delle funzioni di inclusione, subito sotto la variabile per gestire "ajax", solo che mi da errore...
    come mai?

    grazie.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se condo me come descritto hai solo "dichiarato" una variabile di nome cont non l'hai valorizzata cont=0; per variabile numerica cont=""; per stringa
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    Originariamente inviato da cavicchiandrea
    Se condo me come descritto hai solo "dichiarato" una variabile di nome cont non l'hai valorizzata cont=0; per variabile numerica cont=""; per stringa
    scusa ma così non la reinizializza a zero ogni volta che viene richiamata la variable?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da lyllo
    scusa ma così non la reinizializza a zero ogni volta che viene richiamata la variable?
    No perché? Viene settata a 0 al caricamento della pagine e viene modificata della funzione al suo richiamo.
    Consiglio: prendere in considerazione un buon libro di javascript no? E' solo un consiglio, ma a lungo andare rischi di non avere + risposte hai tuoi post
    Ho la netta sensazione che tu non abbia le basi, che non sappia come funziona il javascript poi casomai mi sbaglio......
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    Originariamente inviato da cavicchiandrea
    No perché? Viene settata a 0 al caricamento della pagine e viene modificata della funzione al suo richiamo.
    Consiglio: prendere in considerazione un buon libro di javascript no? E' solo un consiglio, ma a lungo andare rischi di non avere + risposte hai tuoi post
    Ho la netta sensazione che tu non abbia le basi, che non sappia come funziona il javascript poi casomai mi sbaglio......
    si ogni tanto vado un pò a spanne, ma riesco a fare comunque un sacco di cose.
    il punto è che se setto var cont = 0, fuori dalla funzione, come globale, non mi incrementa come dovrebbe!

    grazie per il supporto cmq.

  6. #6
    Utente di HTML.it L'avatar di lyllo
    Registrato dal
    Apr 2001
    Messaggi
    832
    strapippa io

    aggiungendo un brutale cont++ si è risolto.
    evidentemente avevo fatto una somma strana con un algoritmo delirante io
    funge funge!

    ciao e grazie

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.