Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Esegui operazione da div

    Salve, si espongo questo mio problema.
    Ho un div che contiene una serie di collegamenti che cambiano di volta in volta.
    Nel momento che viene cliccato uno di questi collegamenti deve partire una funzione php che esegue delle operazioni.
    Il problema si trova sui link poichè questi mi vengono forniti esternamente e non ho la possibilità di modificarli, quindi il tutto deve essere gestito a livello di div.
    Vi ringrazio anticipatamente della disponibilità.
    Luca

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Esegui operazione da div

    Originariamente inviato da lucazap
    Salve, si espongo questo mio problema.
    Ho un div che contiene una serie di collegamenti che cambiano di volta in volta.
    Nel momento che viene cliccato uno di questi collegamenti deve partire una funzione php che esegue delle operazioni.
    Il problema si trova sui link poichè questi mi vengono forniti esternamente e non ho la possibilità di modificarli, quindi il tutto deve essere gestito a livello di div.
    Vi ringrazio anticipatamente della disponibilità.
    Luca
    Cosa vuol dire a livello di div?

    Secondo me la via che puoi seguire è quella di reperire tramite javascript questi link partendo dal contenitore (appunto il div), dopodichè ad ognuno di questi link aggiungi un eventlistener che al click fa partire una chiamata ajax che esegua la funzione php che vuoi lanciare.

    tramite javascript puro è un po' laborioso, ma se usi un framework javascript i selettori forniti ti permetteranno di fare questo lavoro in poche righe.

    ciao

  3. #3
    Mi puoi fare un esempio?
    Le mie conoscenze di programmazione web sono medie e con javascript e ajax non me la cavo bene.
    :master:

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da lucazap
    Mi puoi fare un esempio?
    Le mie conoscenze di programmazione web sono medie e con javascript e ajax non me la cavo bene.
    :master:
    Innanzitutto c'è da capire se è quello che ti serve, cosa vuoi fare contare i click sui link o qualcosa del genere?

    Devi creare una pagina php che chiami e che presi in ingresso i parametri che gli servono faccia il lavoro che vuoi.

    Dopodichè devi fare in modo che al click di un link venga fatta partire la chiamata ajax.

    Se vuoi posso farti vedere del codice, ma io oramai da tempo lavoro con jquery, quindi non vorrei mostrarti del codice strettamente legato all'utilizzo di un framework piuttosto che un altro.

    In ogni caso per gestire ajax ti consiglio di usare una libreria pronta per l'uso, che tiene presente della gestione delle chiamata in modo diverso dai diversi browser (anche se non è impossibile scriversi una funzioncina che esegua questo compito).

    ciao

  5. #5
    Si conta i click, li memorizza e nel caso raggiunge alcune soglie aggiorna altre tabelle.
    Cosa importante è che una volta che uno di questi link è stato cliccato per qualche minuto il div non deve essere visibile...ma questo casomai me lo gestisco a livello generale.
    La soluzione che proponi mi sembra valida.
    Se mi fai vedere del codice, lo provo e poi ne riparliamo se ho problemi.

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Tieni presente che questa soluzione utilizza il framework jquery, per ogni problema posso darti una mano, anche se qui saremmo un po' ot, comunque puoi trovare tutta la doc su

    http://docs.jquery.com/

    Scaricati e includi nella tua pagina html il framework (è un file js da includere) scaricato da qui:

    http://jquery.com/

    Ora nel markup dai un id al div che conterrà i link.

    poniamo ad esempio:

    codice:
    <div id="contenitore_link">
    ...
    ...
    ...
    </div>
    Poi ti crei un file javascript (o metti il codice direttamente nella pagina)

    codice:
    $().ready(function() {
      // questo selettore prende i link dentro il contenitore, e gli aggiunge un evento da scaturire     
      // al click del link 
      $('a', '#contenitore_link').bind('click', function() { ajaxcaller() });
    });
    
    function ajaxcaller() {
      data = "parametro1=valore1&parametro2=valore2";
      $.ajax({
        type: "GET",
        url: "ajax.php",
        data: data
      });
    }
    Ora nella pagina ajax.php farai le tue operazioni, riceverai in ingresso le variabili che hai spedito nella funzione ajaxcaller.
    codice:
    echo $_GET['parametro1'];
    echo $_GET['parametro2'];
    Se hai bisogno chiedi

  7. #7
    Se io volessi soltanto richiamare la pagina php io codice risulterebbe così per la funzione?

    codice:
    function ajaxcaller() {
      $.ajax({
        url: "ajax.php",
      });
    }

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    devi dirgli comunque il tipo di richiesta che vuoi fare (GET o POST), il parametro data credo tu possa ometterlo.

    ciao

  9. #9
    non mi funziona ma capiamo il perchè:
    come lo devo includere il file di jquery?

    ho già un file javascript e ho inserito all'interno le due funzioni, di seguito il codice inserito:
    codice:
    $().ready(function() {
      // questo selettore prende i link dentro il contenitore, e gli aggiunge un evento da scaturire     
      // al click del link 
      $('a', '#div_ori').bind('click', function() { ajaxcaller() });
    });
    
    function ajaxcaller() {
      $.ajax({
        type: "GET",
        url: "ajax.php",
      });
    }
    poi c'è il file ajax.php che all'interno ha una insert in una tabella.

    al click non parte nulla.

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    conosci l'estensione firebug per firefox?

    Con quella riesci a vedere le chiamate ajax, vedi se viene lanciata.

    ciao

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.