我有一个表单有几个元素和两个提交按钮:保存和删除。当通过jQuery ajax提交表单时,我需要知道用户是否单击了DELETE,以便我可以相应地执行代码。问题是,jQuery不会发送提交名称和值。 因此,我在这里阅读并发现它看起来像是理想的解决方法:使用输入SAVE和DELETE按钮。使用DELETE按钮,我可以发送带有按钮名称和值的表单,因此执行删除的代码。 问题是,即时通讯试图绑在一起,没有成功。 这里是我的代码:jQuery:ajax,点击提交按钮
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代码?
使用数据属性? – a7omiton 2015-03-08 17:50:32
你能说清楚吗? – Marco 2015-03-08 18:01:37