Visualizzazione risultati 1 fino 5 di 5
Like Tree1Likes
  • 1 Post By dreadnaut

Discussione: [jQuery] Rieseguire funzione dopo successo AJAX

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito [jQuery] Rieseguire funzione dopo successo AJAX

    Buongiorno,
    ho creato questo piccolo script jQuery che dopo che un utente ha cliccato su un input radio invia via AJAX il valore dell'input e successivamente stampa in un DIV il risultato ottenuto.

    Visto che il risultato ricevuto non è altro che il form iniziale con qualche piccola modifica vorrei che la funzione di "ascolto" continuasse a funzionare, cosa che per ora, non fa.

    Dove sbaglio?

    Codice:
    $(document).ready(AscoltaVotazioni);
    
    function AscoltaVotazioni(){
     $("input:radio").click(function(){
      Vota($(this).val());
     });
    }
    
    function Vota(id){
    alert("ricevuto");
     $.ajax({
        url: "ajax.php",
        type: "POST",
        data: {candidato:id, submit:"ajax"},
        success: function(data, textStatus, jqXHR){Successo(data);},
        error: function(jqXHR, textStatus, errorThrown){Errore(errorThrown);}
     });
    }
    
    function Successo(data){
     AscoltaVotazioni();
     $("#form").html(data);
    }
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    Banalmente, hai provato ad invertire l'ordine nella funzione Successo()?

    Codice:
    function Successo(data){
     $("#form").html(data);
     AscoltaVotazioni();
    }

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Si ma comunque non cambia nulla.
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,259

    Predefinito

    Così senza vedere il resto della pagina non si può essere certi —se metti un esempio online da qualche parte è meglio.

    Intanto una ripulitina al codice (non testata)

    Codice PHP:
    // $() equivale a $(document).ready()
    $(function() {
    // $('input:radio').click(function() { Vota($(this).val()); });
    // oppure vuoi onchange?
    $('input:radio').on('change', function() { Vota($(this).val()); });
    });


    function
    Vota(id) {
    alert('ricevuto');
    $.
    post('ajax.php', { candidato: id, submit: 'ajax' })
    .
    done( function(data) { $("#form").html(data); } )
    .
    fail( Errore );
    }
    Vedi anche:
    http://stackoverflow.com/questions/4...e-using-jquery
    http://api.jquery.com/jQuery.post/
    http://api.jquery.com/jquery/
    http://api.jquery.com/category/deferred-object/
    Ultima modifica di dreadnaut : 13-01-2015 alle ore 21.34.13
    javascripter likes this.

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    dreadnaut da quanto tempo!!!

    Grazie dei link e dei suggerimenti. Sono riuscito a risolvere.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •