所以我决定使用这个插件 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/