多个确认框Rails link_to

时间:2011-05-20 18:40:22

标签: javascript ruby-on-rails

假设我的网站上有一个链接,点击时会破坏世界:

<%= link_to "Destroy the world", @world, :confirm => 'Are you sure?', :method => :delete %>

显然,这里有一个确认框是不够的。有人可能会偶然摧毁这个世界。

我想弄清楚的是如何一个接一个地显示多个确认框。例如,我的用户将会看到“你确定吗?”,而不是只提供一个显示“你确定吗?”的方框。 - &GT; “你真的很确定吗?” - &GT; “你确定你确定吗?”,直到我最终确定他们足够肯定,并让他们摧毁这个世界。

实现这一目标的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

Rails代码:

<%= link_to "Destroy the world", @world, :confirm => 'Are you sure?', :method => :delete, :id => "destroy-the-world-id" %>

Javascript:

function confirmWorldDestroy() {
    return confirm('Are sure?') &&
           confirm('Are you REALLY sure?') &&
           confirm('Are you REALLY sure you\'re sure?');
}

$(function() {
    $('#destroy-the-world-id').click(function(e) {
        return confirmWorldDestroy();
    });
});

答案 1 :(得分:0)

如果你回归内联javascript,那就很容易了。

<%= link_to "Destroy the world", @world, :method => :delete, :onclick => "return confirm('Are you sure?') && confirm('Are you REALLY sure?') && confirm('Are you sure that you\'re sure?')" %>

答案 2 :(得分:0)

也许你应该添加一个你在提交时调用的函数(:提交时)

它会显示所有确认提示,如果收到所有确认,则返回true,否则返回false。

如果您收到虚假申报表,我认为表单提交将被取消。