jQuery Ajax POST保存删除提交
这是我的代码
$("#form").on("submit",function (e) { e.preventDefault(); var formData = new FormData($(this)[0]); $.ajax( { url:'Master/Database/Client/RunClient.php', type: 'POST', data: formData, contentType: false, enctype: 'multipart/form-data', processData: false, beforeSend:function() { document.getElementById("loading").style.display = ""; }, complete:function() { //document.getElementById("loading").style.display = "none"; }, success:function(result) { document.getElementById("info").innerHTML = result; var n = result.search("error"); if(n < 0) /*document.getElementById("form").reset();*/ $(".input").val(''); } }); });
我可以从我的表单中获取所有数据,除了输入类型submit i make。 我不能在我的RunClient.php中使用isset($ _ POST [“save”])和isset($ _ POST [“delete”])
为提交创建单独的函数,并根据单击的按钮传递“提交类型”;
$('#save').click(function() { submitForm('save'); }); $('#delete').click(function() { submitForm('delete'); }); function submitForm(submittype) { var formData = new FormData(); //push your form data to formData and add the submittype formData['type'] = submittype }
在你的PHP文件中
$submittype = $_POST['type']; // 'save' or 'delete' if($submittype == 'save') { //do save action } if($submittype == 'delete') { //do delete action }
我用来避免按钮提交输入和更改。
//For save
所以,如果有人deavtivate javscript表单将不提交。
你可以像这样发送数据:
data: { foo: 'var' foo2: 5 },
编辑。 对不起误解了你的问题。 只需使用javascript控制单击哪个按钮并使用隐藏字段指定值。
‘$(“#form”)。on(“submit”,function(e)’将函数替换为
$(“#save”)。click(function(){
});
$(“#delete”)。click(function(){
});