2016-12-22 1 views
0

Ich möchte diese Funktion universell machen, basierend auf Button ID. Es funktioniert derzeit (etwas) in einem Div, aber es gibt mehrere Formen in mehreren Divs auf der Seite. Bitte raten ...

var frm_submit_event = function(e) { 
    var $this = $(this); // the button 
    var frm = $('#' + selected_form_div + " form"); 
    console.log(frm); 
    console.log(frm.serialize()); 

    e.preventDefault(); 
    $.ajax({ 
    type: "POST", 
    url: "classes/forms/ajaxPost.php", 
    data: frm.serialize(), 
    dataType: "text", 
    success: function($result) { 
     //var obj = jQuery.parseJSON(data); if the dataType is not specified as json uncomment this 

     $('#' + selected_form_div).html($result); 
    }, 
    error: function() { 
     alert('error handing here'); 
    } 
    }); 
} 

$(document).on("click", '.frm_submit_btn', frm_submit_event); 

nicht sicher, wo man von hier geht ...

+1

'var frm = $ this.closest ("Form");' wird die Form erhalten, dass die Schaltfläche in ist – Barmar

+0

Was 'selected_form_div' ist.? – Barmar

+0

'$ ('#' + selected_form_div) .html ($ result);' überschreibt das Formular, da es sich im DIV befindet. Willst du das wirklich? – Barmar

Antwort

0

eine switch-Anweisung Verwenden Sie die Taste ID überprüfen. Erstelle/baue die Daten aus dem jeweiligen Formular und übergebe dann die Daten in den Ajax-Aufruf zum Posten.

+0

Was ist eine Select-Anweisung, meinst du 'Switch'? – Barmar

+0

Sry ja eine "switch" -Anweisung mit jedem Fall, der die Daten abhängig von der ID der Schaltfläche geklickt baut. – vicgoyso

+0

Wenn meine Antwort richtig ist, markieren Sie bitte als korrekt, oder wenn Sie eine bessere Lösung gefunden haben, bitte posten Sie sie, damit wir alle teilen und lernen können. – vicgoyso