Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    Incrementare un valore all'interno di una funzione

    Ho una funzione JS che fa una chiamata AJAX ad un file PHP. La chiamata viene fatta più volte, ed ogni volta ho la necessità che, all'interno della funzione precedente, venga incrementato un valore.
    Riporto il JS, così sarà più chiaro quello che dirò di seguito.
    Codice PHP:
    var numero 1;
    function 
    incrementa() {
        
    numero numero++;
    }
    // request ajax
    function createRequestObject() { 
    var 
    ro
    var 
    browser navigator.appName
    if (
    browser == "Microsoft Internet Explorer") { 
    ro = new ActiveXObject("Microsoft.XMLHTTP"); 
    } else { 
    ro = new XMLHttpRequest(); 

    return 
    ro

    var 
    http createRequestObject();
    function 
    sndReq(action) { 
    http.open('get''loadata.php?action='+action); 
    http.onreadystatechange handleResponse
    http.send(null);

    function 
    handleResponse() { 
    if (
    http.readyState == 4) { 
    var 
    response http.responseText
    document.getElementById("newload"+numero).innerHTML response;
        } 
    }
    function 
    handleResponse() {
    if (
    http.readyState == 4) {
    var 
    response http.responseText;
    var 
    el=document.getElementById("newload"+numero);
    el.innerHTML response;
        }

    Da questa prima parte, si vede che:
    - i dati richiamati via AJAX vengono caricati in un elemento il cui ID è costituito dalla parola newload e da un numero progressivo.
    - c'è una funzione che dovrebbe incrementare la variabile numero
    In pratica, io parto con un elemento con ID=newload1, dentro il quale carico dei dati via AJAX/PHP. I dati che mi arrivano via PHP costruiscono in coda al testo un nuovo elemento, con ID=newload2.
    Poichè quando chiamo la funzione sndReq() chiamo contestualmente anche la funzione incrementa(), mi aspetterei che la variabile numero assumesse il valore 2, e quindi, alla successiva chiamata AJAX, i dati venissero caricati nell'elemento con ID=newload2
    Invece, mentre viene correttamente creato l'elemento con id 2, la variabile numero non viene incrementata, e quindi la successiva chiamata AJAX viene fatta indirizzando i dati sempre all'elemento con id 1.
    Tra l'altro, poichè anche per la funzione sndReq() ho bisogno di incrementare il valore, io faccio così:
    Codice PHP:
    sndReq('step'+numero); 
    Ma ovviamente continua a mandarmi come valore step1, e perciò ricaricando sempre gli stessi dati!...
    Come posso risolvere???
    metatad
    graphic & web design

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    up?
    metatad
    graphic & web design

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.