2016-12-22 4 views
0

ボタンidに基づいて、この関数を汎用化したいと考えています。現在は1つのdivで動作していますが、ページ上の複数のdivに複数のフォームがあります。教えてください...

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); 

のはここから行くようにしてくださいません...

+1

'var frm = $ this.closest(" form ");'ボタンが入っているフォームを取得します。 – Barmar

+0

'selected_form_div'とは何ですか? – Barmar

+0

'$( '#' + selected_form_div).html($ result);'はDIVの中にあるので、フォームを上書きします。あなたが本当に欲しいのはそれですか? – Barmar

答えて

0

は、ボタンIDをチェックし、switchステートメントを使用します。それぞれのケースで、ボタンの尊重されたフォームからデータを取得/構築し、ポストするためにデータをajax呼び出しに渡します。

+0

selectステートメントとは何ですか? 'switch'を意味しますか? – Barmar

+0

SryはいクリックしたボタンのIDに応じて、それぞれのケースがデータを構築する "switch"ステートメント。 – vicgoyso

+0

私の答えが正しい場合は、正しいものとしてマークしてください。より良い解決策が見つかった場合は、投稿してください。皆が共有して学ぶことができます。 – vicgoyso