我有一个带有 2 个按钮的表单:确认和删除。我正在发布一个隐藏的输入元素 ID。单击“确认”后,将使用元素 ID 执行操作。如果单击“删除”,则会删除 DB 中具有元素 ID 的条目。现在,问题是当我执行 print_r($_POST); exit();
时,它正确地给了我输入元素 ID。但它没有告诉我点击了哪个按钮。有没有办法找出在单个表单中确切单击了哪个按钮?两个按钮需要以相同的形式存在。
这是我尝试过的代码:
jQuery
var dataString = $('#form_confirm_delete').serialize();
$.ajax({
type: "POST",
url: "ajaxpage.php",
data: dataString,
dataType: 'json',
cache: false,
success: (function(response)
{
alert('Yes');
})
});
PHP 页面 (ajaxpage.php):
<?php print_r($_POST); exit(); ?>
最佳答案
您可以为单击的按钮设置隐藏输入
当单击两个按钮之一时
获取点击按钮的值,例如删除
<button id="deleteButton" value="delete">Delete</button>
并将单击的按钮的值存储在变量中,例如
$("#deleteButton").click(function(){
var thebuttonclicked =$(this).attr("value");
然后设置隐藏字段的值
$('input[name=theclicked]').val(thebuttonclicked);
提交后,您可以获得名为theclicked的帖子。 我认为这种方法更好即使http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2点击的按钮已提交,jquery序列化不包含点击的按钮。有关序列化的更多信息可以引用http://api.jquery.com/serialize/
关于jquery 找出 AJAX 发帖中点击了哪个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729011/