Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228

    [jQuery] problema variabile undefined

    Ciao a tutti ho queste righe di codice:
    codice:
    Banane 15
    Mele 32
    Pere 64
    Fichi 5
    
    <script>jQuery("document").ready(function() {
      var mioId = this.id;
      jQuery(".refresh").load("aggiorna.php?m="+mioId);
      var refreshId = setInterval(function() {
        jQuery(".refresh").load('aggiorna.php?m='+mioId);
      }, 10000);
      jQuery.ajaxSetup({ cache: false });
    });
    </script>
    In pratica per ogni frutto a fianco è presente un numero (la quantità). Io vorrei che ogni 10 secondi la stessa venga aggiornata. Il problema è che di fatto Firebug mi dice che sto tentando di caricare aggiorna.php?m=undefined

    Qualche suggerimento?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che gli id numerici sono sbagliati/sconsigliati, this.id dentro al ready non significa nulla, dovrai digli dove andare a prendere/rilevare id da appendere all'url per esempio sono gli id dei tag <a ....></a> allora dovrai scorrerlo con .each per recuperarli
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Ho trovato questo codice che effettivamente passa tutto quanto, ma non mi stampa il risultato
    codice:
    banane <div class="placeholder"></div>
    mele <div class="placeholder"></div>
    pere <div class="placeholder"></div>
    
    function update(){
      jQuery('.refreshingDivs').each(function(){
        jQuery.get('aggiorna.php?id=' + jQuery(this).attr('id'), function(data){ 
          jQuery(this).children('.placeholder').html(data);
          window.setTimeout(update, 10000);
        });
      });
    }
    jQuery(document).ready(function(){
      update();
      jQuery.ajaxSetup({ cache: false });
    });
    In pratica il div placeholder non viene riempito con il valore. Tramite Firebug vedo che viene passata la variabile, fatta la query e restituito un risultato, che però come detto non viene mostrato.

  4. #4
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Nessuno in grado di aiutarmi?
    La domanda e la risposta sono corrette, ma non viene stampata a video la risposta.
    Ho cercato con Firebug, ma non è proprio presente in nessuna parte della pagina. Gli elementi ci sono tutti. Sono 3 giorni che ci sbatto la testa.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    a parte che non è corretto inserire dei div all'interno del tag a, non puoi fare una singola chiamata ajax per tutti e tre i campi? è veramente necessario fare tre chiamate praticamente simultanee? Inoltre ti ricordo che la funzione di callback(success) di una chiamata ajax viene richiamata solo quando il server ha terminato l'elaborazione, mentre il ciclo continua indipendentemente dalla chiamata ajax, questo significa che quando viene eseguita l'istruzione JQuery(this).children('.placeholder').html(data) il ciclo è già terminato e this non si riferisce all'elemento preso in considerazione.

  6. #6
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Io ne ho indicati 3, di fatto sono molti di più, raggruppati per prodotto.
    È una specie di magazzino dove mostro qualcosa di questo tipo:
    Categoria: Frutta
    fruttoA - rimanenzaA
    fruttoB - rimanenzaB
    ecc.

    Categoria: Verdura
    ortaggioX - rimanenzaX
    ortaggioY - rimanenzaY
    ecc.

    Le rimanenze per ogni prodotto devono essere aggiornate ogni 10 secondi per poter monitorare la cosa.

    Se potete aiutarmi nell'ottenere il risultato voluto vi sarei molto grato, perché se potessi fare un reload della pagina avrei risolto, ma in questo caso non posso farlo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    fai una singola chiamata ajax ogni 10 secondi, dove passi in input tutti i dati necessari(ti crei un oggetto specifico che contenga tutti i dati). Cosi facendo aggiorni tutti i campi con una sola chiamata. Ovviamente dovrai rivedere anche la parte server.

  8. #8
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    Preferirei fare chiamate multiple perché di fatto se un prodotto è a 0 (e potrebbero essercene diversi) non necessita l'aggiornamento.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    embè? aggiorna solo cio che devi aggiornare, non vedo dove sia il problema, se sono tutti a zero non fare nemmeno la chiamata . Cmq se vuoi procedere in altro modo fai pure, il mio è solo un consiglio

  10. #10
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228
    ok, ma il problema rimane. non so come risolverlo. mi dici che quando richiamo il "children" ha già perso l'id dell'elemento parent, come faccio a sistemare?

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.