Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    19

    [JQUERY] Comportamento anomalo

    Buongiorno a tutti, ho un problema con uno script jquery che restituisce un comportamento anomalo. In pratica clickando su un link in un menu laterale, attraverso una chiamata ajax faccio comparire un form nel div centrale. Il problema nasce quando clicko di nuovo sullo stesso link, a quel punto infatti la pagina centrale col form va in un refresh continuo e questo in modo esponenziale ad ogni clickata. Ovviamente i campi diventano inaccessibili fino a quando non si conclude questo loop. Suggerimenti?
    Grazie in anticipo!

    M.

  2. #2
    senza vedere il tuo codice non posso mica dirti cosa c'è di sbagliato.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    19
    Hai ragione

    $('a#ins_prot').click(function() {
    $('#testo').load('files/inserimento.php?from=ins_prot').slideDown();
    return false;
    });

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    19
    Up: Ho verificato il codice della pagina richiamata da quel link e forse ho trovato il problema.
    La pagina genera un form e alcuni div nascosti che inviano ulteriori chiamate ajax. Per fare in modo che il tutto funzioni ho dovuto richiamare di nuovo il file .js nell'head della pagina contenente il form, così facendo però si genera quel problema.
    Tolto il richiamo al .js, il loop non c'è più, ma gli eventi ajax non rispondono.
    Perchè?
    Inoltre, fatto curioso, il .js incorporato nella pagina caricata è quello contenente le funzioni, mentre la libreria jquery è presente sul solo index.php eppure viene riconosciuta.
    Come posso fare?
    Grazie per l'aiuto!

    M.

  5. #5
    devo vedere tutta la pagina per darti un'opinione corretta. Non puoi pubblicarla da qualche parte?
    I DON'T Double Click!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    19
    Scusa artorius ma dovrei postarti l'intero progetto...

    La parte di codice relativa al problema è questa:

    // LINK DEL MENU LATERALE CHE RICHIAMA UN FILE PHP NEL DIV CENTRALE

    $('a#ins_prot').click(function() {
    $('#testo').load('files/inserimento.php?from=ins_prot');
    return false; });


    // CODICE PHP RICHIAMATO
    echo"<html>";
    echo"<head><script type=\"text/javascript\" src=\"files/gestione_menu.js\"></script>";
    echo"<script type=\"text/javascript\" src=\"files/mia.js\"></script></head>";
    echo"XHTML...";
    echo"</html>";

    Se lascio incorporati i due js il tutto funziona ma genera il loop.
    Se li tolgo non funziona nulla.

    Mi aiuterebbe molto conoscere la tua opinione, grazie!
    M.

  7. #7
    ma quei file JS che includi con la chiamata AJAX sono già importati nella pagina?
    I DON'T Double Click!

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    19
    sono già importati nell'index.php che è la cornice di tutto il lavoro.

  9. #9
    allora non devi reimportarli, se devi applicare degli eventi al codice HTML che hai inserito nella pagina, devi farlo solo su quello o vai ad aggiungere le funzioni sugli stessi eventi.

    Ti faccio un esempio:

    hai la tua pagina base html con dentro
    codice:
    Click Me!
    ed un file JS che contiene:

    codice:
    $("#MyLink").click(function(){
       alert("You've clicked Me!");
    });
    A questo punto se clicchi sul link attiverai l'evento click che farà l'alert come indicato

    Metti di fare una chiamata AJAX che reinclude il file JS. A questo punto il link con id MyLink non avrà più una sola funzione associata all'evento click, ma ne avrà due, e verranno eseguite di seguito una dopo altra.
    I DON'T Double Click!

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    19
    Grazie artorius, ho risolto, sei stato prezioso.
    Ho spezzato il file js principale e ho creato un file js con soltanto le funzioni relative al form e tutto sembra funzionare.

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.