在表单数据中,传递关于单击哪个按钮的信息——在确认模式之后
In form data, pass info about which button was clicked -- after confirmation modal
提交按钮上的click事件触发一个确认模式。
当用户单击确认按钮时,表单将被发送,而不包含我需要的原始提交按钮数据。
简化代码:<form action="/action" method="post">
<!-- inputs -->
<button type="submit" name="foo" class="with-confirmation-modal" />
</form>
<script>
$(document).on('click', '.with-confirmation-modal', function() {
$form = $(this).closest('form');
$modal = $('#modal');
$modal.on('click', 'button[type=submit]', function() {
// form is sent without the info about which button
// was clicked prior to modal
$form.submit();
return false;
});
$modal.modal('show');
return false;
});
</script>
如何处理这个问题?
当你发布表单时点击
<button type="submit" name="foo" />
发布的数据包括按钮的名称:
...&foo=&...
确认弹出框打破了这种行为。在这里,我们通过在调用$form.submit()之前添加一个包含被单击按钮名称的隐藏输入来模拟它。
<script>
$(document).on('click', '.with-confirmation-modal', function() {
var $clickedBtn = $(this);
var $form = $clickedBtn.closest('form');
$modal = $('#credit-headsup-modal');
$modal.on('click', 'button[type=submit]', function() {
$(this).parent('.btn-wrapper').addClass('btn-wrapper--active');
$(this).siblings('.btn-loading').show();
// Pass info about which btn was clicked prior to modal
// by adding a hidden input with same name as btn
$form.append('<input type="hidden" name="'+$clickedBtn.attr('name')+'" value="">');
$form.submit();
return false;
});
$modal.modal('show');
return false;
</script>
如果有更好的方法,请分享。
相关文章:
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 如何调整信息窗口的大小并点击按钮?+更改信息窗口的内容
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- 数据应该只显示与我单击的按钮有关的信息
- 在谷歌地图的信息窗口内点击按钮
- 获取下拉信息的按钮
- HTML5数据库保存了详细信息以及一个按钮
- DataTable没有显示分页按钮和记录信息-JQuery
- 向HTML页面添加按钮,更新表格信息
- 如何获取facebook登录按钮的范围信息
- 单击按钮时如何将信息加载到另一个页面
- 使用带有哈希标签的链接处理类似Facebook的按钮信息(标题和图像)
- Datatables服务器端信息+带2个按钮的静态列
- jQuery click()多次输出错误按钮的信息
- 保存按钮未附加到右侧信息窗口,谷歌地图
- 刷新所有信息返回按钮按下:RubyonRails
- 按钮,显示 PHP 中表的选定行的完整信息
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 为 Google 地图信息框创建自定义关闭按钮