java - 无法获取使用 jQuery Popconfirm 插件单击的按钮的名称

标签 java javascript php jquery forms

所以我决定使用这个插件 https://github.com/Ifnot/PopConfirm 因为它被推荐为一个很好的确认按钮。我已经设置好了,除了一件事之外,一切都运行良好。

我使用单击的按钮名称验证 PHP 中的所有表单,因为我有几个按钮,例如保存、取消、删除。因此,当在 PHP 中提交表单时,我可用的 POST 变量如下,我可以使用

验证按钮
PHP e.g. 
Array ( [supplier] => "david" [customer] => "new buy" [save] => )

Validate Using
if(isset($_POST['save'])){} 

但是当我使用 popconfirm 插件时,由于它使用 .submit() 来提交表单,因此在表单提交时我只获取输入框的值,而不获取按钮的名称

Using popconfirm to submit the form, I end up with
Array ( [supplier] => "david" [customer] => "new buy" ) 

由于使用 popconfirm 时缺少 $_POST['save'],因此我无法验证在 PHP 中按下了哪个按钮,因为它没有被传递。

我可以看到插件使用

form.submit(); 

提交表单,但我不明白为什么按钮的名称没有像 PHP 那样发布,或者如何让提交函数也传递按钮名称变量

最佳答案

当您使用 jQuery(PopConfirm 使用)提交表单时,按钮的名称和值不会与其他表单数据一起传递(我不知道到底为什么)。
如果您看到 jquery.popconfirm.js 的源代码,您可以通过搜索这行注释来搜索处理按钮的部分:

    // If the button is a submit one

您将找到处理按钮的部分。在 form.submit();

之前添加这行代码
btnName = typeof(self.attr('name')) === 'undefined' ? '' : self.attr('name');
btnVal = typeof(self.attr('value')) === 'undefined' ? '' : self.val();
form.append('<input type="hidden" name="' + btnName + '" value="' + btnVal + '" />');

关于java - 无法获取使用 jQuery Popconfirm 插件单击的按钮的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525136/

相关文章:

java - Jsoup Element.hasText 返回 true

java - 扩展其他接口(interface)的默认方法和接口(interface)

javascript - 在 Rails form_for 中自动添加数字

javascript - | 是什么意思?运营商做什么?

PHP SameSite session 问题, session 不起作用

java - JPA 标准 - 依赖 WHERE 子句

java - 分解 RSA/ECB/OAEPWithSHA-256AndMGF1Padding

javascript - 将 Chart.js 图表保存到文件夹(不下载)

javascript - 在没有框架或没有插件的情况下部分显示没有 Canvas 的图像

php - 将动态字段数据插入数据库问题?