【问题标题】:Two button confirmations - Jquery两个按钮确认 - Jquery
【发布时间】:2013-03-13 13:57:13
【问题描述】:

目前我有一个提交按钮,它会弹出一个确认,允许处理或不处理表单数据。

我需要表单页面上名为“取消”的另一个按钮来执行相同的操作。如何扩展此代码以向同一个表单添加第二个确认?

这些是我在表单上的按钮:

这是我当前有效的代码:

 </script>
        <script>
            $(document).on('submit', "#signinform", function(e)
            {
                if (!confirm("By clicking 'OK' you will be placed in queue! Please take a seat."))
                {
                    e.preventDefault();
                    return;
                }
            });
        </script>

只是补充:

提交是一个提交按钮。 Cancel 只是一个带有边框的href。

又来了

目前这仅适用于提交按钮。

我需要表单上名为“取消”的另一个按钮来执行相同的操作,就像您点击确定一样,您的提交数据将被删除,然后您将返回到表单。如果您点击取消,那么您将留在页面上。

【问题讨论】:

  • 到底是什么问题?
  • 仅作记录:以前的解决方案使用jquery的对话框方法,如$(...).dialog({buttons:{Confirm:-handler-, Cancel:-handler-}})而不是$(document).ready()
  • 你需要定义你想让取消按钮做什么,你不能只是复制确认按钮并期望它工作。
  • 我需要取消来做与提交相同的事情。我的表单上有两个按钮,提交和取消。提交将在提交或取消之前要求确定。在结束提交之前,表单取消按钮将用于确认或取消。所以我需要他们做同样的事情。
  • 更新 OP 更清晰

标签: javascript jquery event-handling client-side confirmation


【解决方案1】:

我猜你只是需要类似的东西

$(document).on('click', "#cancelButtonID", function(e)
{
    if (!confirm("By clicking 'OK' you cancel the submission and the form is cleared."))
    {
        e.preventDefault();
        return;
    }
    else {
        //Clear the form or perform whatever actions are needed
    }
});

不过,我认为您可能希望将取消链接替换为适当的 &lt;input type="reset"&gt; 按钮,因为当您让默认操作发生时,它将自动清除表单。那么你应该可以摆脱上面的else部分了。

【讨论】:

  • 向 OP 添加了更新,但仍然没有,我知道我没有像 dialog() 这样的 JS 事件处理程序,我添加了它,但我仍然注意到代码?跨度>
  • 按钮是否无法按预期工作,或者您甚至没有看到对话框?
  • 我更新了我的 OP 以更清楚我需要它做什么。希望这可以解决一些问题。
  • 太棒了,很高兴我能帮上忙。
猜你喜欢
  • 1970-01-01
  • 2012-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-01
  • 1970-01-01
相关资源
最近更新 更多