【发布时间】:2015-03-08 17:37:20
【问题描述】:
我有一个包含多个元素和两个提交按钮的表单:保存和删除。通过 jQuery ajax 提交表单时,我需要知道用户是否单击了 DELETE,以便我可以相应地执行代码。问题是 jQuery 不发送提交名称和值。 因此,我在这里阅读并找到了理想的解决方法:使用 SAVE 输入和 DELETE 按钮。使用删除按钮,我可以发送带有按钮名称和值的表单,因此执行删除代码。 问题是我试图将这些部分联系在一起但没有成功。 这是我的代码:
HTML:
<form id="f-release" method="post" action="includes/submit_release.php">
<fieldset>
<input name="save" type="submit" value="save">
<button name="delete" type="button" value="delete" onClick="return confirm('Do you really wish to permanently delete the record?')">Delete</button>
</fieldset>
</form>
ajax:
$("form button[name=delete]").click(function() {
var formData = $(this).closest('form').serializeArray();
formData.push({name: this.name, value:this.value });
});
$('form#f-release').submit(function(event) {
event.preventDefault();
var form = $(this);
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
dataType: "json"
}).done(function(data) {
alert('done');
}).fail(function(data) {
alert('error!');
});
});
php:
if (isset($_POST['releaseid']) && is_numeric($_POST['releaseid'])) {
// save
} elseif (...delete...) {
//delete
}
当我点击删除时,如何提交带有删除按钮名称和值的表单,以便正确执行 php DELETE 代码?
【问题讨论】:
-
使用数据属性?
-
你能说清楚吗?