Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    71

    Funzionamento strano di una chiamata ajax

    Ciao a tutti, arrivo subito al dunque. Devo in pratica effettuare una chiamata in ajax per poter cancellare dei record da un database e ho creato questa funzione:
    codice:
    <script>
    $('input[name=elimina]').click(function () {
                var id_da_cancellare=this.id;
                $.post("elimina_prodotto.php", { id_da_cancellare: id_da_cancellare}),function(){}
    });
    </script>

    ecco questo script così com'è non funziona, nemeno se inserisco
    codice:
    , function(msg){ $("#risultato").html(msg); });

    e la cosa strana è che se inserisco un alert dopo la funzione cioè così:
    codice:
    <script>
    $('input[name=elimina]').click(function () {
                var id_da_cancellare=this.id;
                $.post("elimina_prodotto.php", { id_da_cancellare: id_da_cancellare}),function(){}
                alert("Prodotto Eliminato");
    });
    </script>
    lo script funziona!

    Dato che vorrei fare un controllo sull'effettiva eliminazione del record, potreste spiegarmi cosa succede e come potrei fare la verifica dopo.

    N.B. i record che mi appaiono da cui devo poi effettuare l'eliminazione sono già essi frutto di un altra chiamata in ajax, può essere questo il problema?

    Grazie mille in anticipo

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Premetto che non conosco ma non hai un problema di parentesi ?

    $.post("elimina_prodotto.php", { id_da_cancellare: id_da_cancellare}),function(){}
    });
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    71
    No niente non è quello il problema, anzi se cambio le parentesi non funziona proprio più

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    Mi sembra che vai a recuperare un elemento INPUT con NAME="elimina" per assegnargli un ONCLICK
    ma quando avviene tutto ciò? Prima che il documento esista? Dov'è messo quello SCRIPT, in testa o in calce al codice tutto del document ?

    E poi, qualcuno dovrebbe dire se quel this rimane definito; scusami ma io conosco poco icqueri ma abbastanza JavaScript e gli script me li faccio ex-novo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    71
    Questo script è inserito nel documento subito dopo il submit da cui viene preso l'id da cancellare quindi la pagina è già stata elaborata. Se lo inserisco nell'header non funziona proprio.
    Che significa qualcuno dovrebbe dirgli se quel this rimane definito?

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    La sintassi è questa :


    $.post( "ajax/test.html", function( ) {});

    $.post("elimina_prodotto.php", { id_da_cancellare: id_da_cancellare}),function(){}
    o metti la parentesi dopo l'ultimo } o togli ),function(){}. No ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    <script>
    $('input[name=elimina]').click(function () {
                var id_da_cancellare=this.id;
                $.post("elimina_prodotto.php", { id_da_cancellare: id_da_cancellare}, function(response){
    alert(response)
    })
    });
    </script>
    nella pagina elimina_prodotto.php una volta eliminato il prodotto metti un echo "prodotto eliminato correttamente";
    il response conterrà l'echo cioè "prodotto eliminato correttamente"

    Ultima modifica di cavicchiandrea; 14-09-2014 a 14:10
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    71
    soluzione trovata! era giustissimo tutto quello che mi avete consigliato e io l'avevo comunque già provato, ma non andava lo stesso.

    Il problema era un altro...per prelevare l'id da cancellare avevo utilizzato un input type submit e quindi sicuramente poi senza un preventdefault() o comunque senza nulla da inviare non eseguiva la chiamata in ajax, però l'id veniva prelevato correttamente era questo che mi ha fatto andare nel pallone. Ora ho inserito al posto dell'input submit un input button e funziona tutto correttamente vi posto comunque il codice:

    codice:
    <script>
    $('input[name=elimina]').on('click', function(){
                var id_da_cancellare=this.id;
                $.post("elimina_prodotto.php", {id_da_cancellare:id_da_cancellare}, function(msg){alert(msg)});
    });
    </script>
    e questo il pulsante:
    codice:
    <input type="button" name="elimina" value="Elimina" class="button" id="'.$id_prodotto.'" />
    Grazie lo stesso a tutti

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.