在 product-master.php (查看页面)中,我有几个按钮:添加,编辑,删除。
每个按钮都有唯一的名称: btnAddProduct , btnEditProduct , btnDelProduct
这些按钮共享相同的操作页面,如下面的ajax代码所示: action / product-master.php (是的,我根据视图页面对其进行了命名,只是不同的文件夹)
是的,我使用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
}
});
});
答案 0 :(得分: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
}
});
});