• User

    Form costruito tramite ajax non esegue funzione jquery

    Salve a tutti,
    tramite ajax mi costruisco questo form in html:

    
    
    ..
    $( "#lista_accessori" ).append("<form class=\"cerca_doc_acc\" action=\"documento_accessorio.php\" name=\"cerca_doc_acc\" id=\"cerca_doc_acc\" method=\"POST\"><input type=\"hidden\" value=\"123\"><input type=\"submit\"></form>")
    ..
    
    
    

    L'ajax funziona regolarmente ed infatti l'html viene generato.
    Il problema sorge quando faccio il submit:

    
    
    $(".cerca_doc_acc").submit(function(event){
                    var postData = $(this).serializeArray();
                    var formURL = $(this).attr("action");
                    $("#lista_documenti").html("");
                    $.ajax({
                        url : formURL,
                        type: "POST",
                        data : postData,
                        success: function(response, data, textStatus, jqXHR){
                            alert(response);
                            }
                        }
                    });
                    event.preventDefault();
                });
    
    
    

    Invece di darmi l'alert con il response, mi va direttamente nella pagina.. come se saltasse la funzione qui sopra..
    Se invece di generare il codice da ajax, lo creo direttamente in html, funziona correttametne e mi da l'alert al click..

    Grazie per l'aiuto!


  • User Attivo

    Devi usare "live" perchè al momento della creazione del DOM quel pezzo di HTML none esiste ancora: https://api.jquery.com/live/

    In sostanza invece di quello che fai adesso prova una cosa tipo questa:
    [html]$(".cerca_doc_acc").live('submit', function() {
    ....
    });[/html]