如何为关键操作实施确认对话框?

时间:2009-07-25 16:53:10

标签: javascript

我自己并不精通JS,所以我可能需要花几个小时自己解决这个问题,所以我想我会问你们。

我的网站上有删除/禁止链接,供管理员用来管理用户和他们发布的内容。由于这些链接对网站的内容产生了如此严重的影响,我希望能够在点击其中一个链接时弹出某种确认。

它应该有一些额外的文字说明即将发生的事情,以及确定/取消按钮。

所以我有一个链接,例如:

<a href="ban.php?id=123" class="confirm_ban">Ban John</a>
<a href="delete.php?id=123" class="confirm_delete">Delete Post</a>

单击此链接时,需要触发代码。如果按了OK,它会转到ban.php?id = 123,如果按下取消,它就不会去任何地方。

一个简单的JS对话框,就可以了。或者如果你有一个花哨的jquery动力盒的链接,你也可以指向我。

谢谢!

6 个答案:

答案 0 :(得分:3)

实现此目的的最简单方法是使用confirm()函数:

var confirmed = confirm('Do you really want to do this?');
if(confirmed) {
    //Do dangerous action
}

它基本上会显示一个包含您提供的文本的框,然后显示确定和取消按钮。

通过链接,您可以执行以下操作:

<a href="someurl" onclick="return confirm('Are you sure?');">

将动作放在onclick中并不是最好的做法,但即使你不是专业的javascripter,它仍然有效且易于理解

答案 1 :(得分:1)

我认为您正在寻找类似“确认删除”的内容。

Confirm函数将字符串参数作为输入。它显示一个对话框,其消息是该参数,带有“确定”和“取消”按钮。

如果用户单击OK,则confirm函数返回True;如果用户单击取消,则返回False。

以下是使用它的示例:

function fConfirmDelete()
{
    if(confirm("Delete Field?"))
    {
        document.forms[0].lblFieldSelect.value="DELETE";
        document.forms[0].submit();
    }
    else
    {
        document.forms[0].lblFieldSelect.value="";
    }
    return;
}

答案 2 :(得分:0)

寻找这个?

//Cleaner explanation
$("document").ready(function(){
    $(".dangerousLink").each(function(){
        var confirmUrl = $(this).attr('href');
        $(this).attr('href', 'javascript:;');
        $(this).click(function(){
            if(confirm("This is dangerous... are you sure?")) {
                window.location = confirmUrl;
            }
        });
    });
});

//Now just append a class dangerousLink to all links that you want confirmation
<a href="dangerousStuff.php?x=10" class="dangerousLink">Blow up</a>

如果您正在寻找一个精美的对话框,您会发现一些有趣的内容here

答案 3 :(得分:0)

这是一个不错的jQuery对话框插件。当然,您也需要jQuery

http://nadiana.com/jquery-confirm-plugin

答案 4 :(得分:0)

var confirm = confirm('Blabla');

if(confirm)
{
 // do
}

答案 5 :(得分:0)

这是简单的JS:

    <a href="delete.do" 
      onClick="return confirm('Delete. Are you sure?');">Delete</a>