2017-09-15 7 views
-1

を通じてポストボタンを取得し、私はいくつかのボタンがあります:削除し、[編集]を追加します。 アクション/製品-master.php:下回るAjaxコードに示すように、これらのボタンは同じアクションページを共有PHPは<strong>製品master.php</strong>(ビュー・ページ)でアヤックス

btnEditProductbtnDelProductbtnAddProduct

各ボタンには、一意の名前を得ました

はい、私は、フォームデータを処理するためにAjaxのメソッドを使用しています(はい、私はちょうど別のフォルダ、ビューのページに合わせて命名しました)。どのボタンが押されたかを検証する方法は?

私はisset($_POST['btnAddProduct'])を使用してみましたが、それは動作しません。以下は私のボタンです:

btnAddProduct

<input type="submit" class="btn btn-success" id="btnAddProduct" name="btnAddProduct">

製品-master.php

$('#btnAddProduct').on('click', function(e) { 
    var formData = new FormData($('#form-add-modal')[0]); 
    $.ajax({ 
     url: "action/<?php echo basename(__FILE__); ?>", 
     type: "POST", 
     data: formData, 
     contentType: false, 
     processData: false, 
     success: function(data) { 
      console.log(data); 
     }, 
     error: function(){ 
      //Display error here 
     } 
    }); 
}); 

答えて

2

フォームからFormDataを作成するときにボタンがあるため、含まれていませんFormDataコンストラクタはどのボタンがクリックされたかを知る方法がありません。明示的にFormDataに追加する必要があります。

$('#btnAddProduct').on('click', function(e) { 
    var formData = new FormData($('#form-add-modal')[0]); 
    formData.set(this.name, "1"); 
    $.ajax({ 
     url: "action/<?php echo basename(__FILE__); ?>", 
     type: "POST", 
     data: formData, 
     contentType: false, 
     processData: false, 
     success: function(data) { 
      console.log(data); 
     }, 
     error: function(){ 
      //Display error here 
     } 
    }); 
}); 
関連する問題