使用输入销毁确认弹出窗口

Posted

技术标签:

【中文标题】使用输入销毁确认弹出窗口【英文标题】:Destroy confirmation popup with input 【发布时间】:2018-12-03 23:15:54 【问题描述】:

有什么简单的方法可以传参销毁确认按钮吗?

我不想只显示“你确定吗?”带有确定/取消按钮的消息。我想传递一些参数,这些参数将保存为已删除对象的注释。

我想得到类似图片的结果:

【问题讨论】:

您的意思是显示自定义销毁弹出消息吗?点击销毁按钮? @Gabbar 是的,这就是我想做的。此消息应包含输入 @JanKrupa 您可以使用表单实现引导模式弹出窗口,也可以在其上设置验证并根据您的要求进行设计。任何接受输入的弹出窗口都会被调用,form ;) 示例:jsfiddle.net/KyleMit/0fscmf3L 这看起来像一个普通的 html 表单。 @JanKrupa 如果对您有帮助,请随时接受/投票。 【参考方案1】:

1 => 假设你有一个删除对象的链接

<%= link_to 'Delete', 'javascript:;',id: "#obj.id", class: 'delete_object_by_audit_cmt'%>

2 => 点击删除链接打开带有注释字段的模型。并传递将被删除的对象的 id。

<script>
  $('.delete_object_by_audit_cmt').on('click', function
    var id_of_obj = $(this).attr('id');
    $('#deleted_obj_val').val(id_of_obj); // set hidden field id value
    $('#modal_id').show();
  );
</script>

3 => 使用表单字段创建模型(仅观看步骤,您应该将其包装到带有模态 ID 的引导模态)

<div id="modal">
  <p>Are you sure want to delete ... your custom message</p>
  <%= form_tag delete_object_path%>
    <%=text_field_tag :audit_comment%>
    <%= hidden_field_tag :id, "", id: 'deleted_obj_val'%>
    <%= submit_tag :"Yes delete"%>
    <%= link_to 'Cancel', cancel_path%>
  <%end%>
</div>

总结:- 1)在删除链接上点击打开一个模式

2) 将该模态的 id 的隐藏字段值设置为已删除的对象值。

3) 点击是删除它会提交审计消息以及对象的 id,你可以在控制器端处理它。

【讨论】:

我真的不知道该怎么做。我必须深入研究javascript。我想做的是为所有类定义一个全局函数,它将定义这个弹出窗口(所以我只是将一个实例传递给这个函数,就是这样)。但我从未使用过 javascript,所以这需要一些时间。 @jan krupa 我确实做到了。您可以查看脚本代码,这意味着我已经为所有删除链接定义了一个通用类,其中包含将被删除的对象值的动态 id。所以在这里通过单击删除链接,将使用公共类触发单击事件,并且使用该公共类,将使用 $(this) 获得对象的 id 值。字段值将使用存储在 id_of_obj 中的对象的 Id 设置,该对象将被删除。很快 。我希望你很清楚。让我知道以获得进一步的指导。 我真的不知道应该在哪里定义 divscript 以便可以从任何地方调用它。 嗯,它有效,但我必须添加一些“变通办法”,所以现在看起来一团糟。 @jan 很高兴知道这一点。

以上是关于使用输入销毁确认弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

layui 子弹出框操作成功后, 刷新父弹出框的内容

selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理

使用 angularjs 在 kendo 调度程序上自定义删除确认弹出窗口

Javascript 确认弹出窗口

html按下单击弹出确认窗口确认后转到链接

在 IOS 9 中,javascript 警报和确认弹出窗口不适用于 Webkit