Javascript 确认弹出窗口

Posted

技术标签:

【中文标题】Javascript 确认弹出窗口【英文标题】:Javascript confirmation popup 【发布时间】:2012-09-10 10:47:26 【问题描述】:

我是 javascript 和 web 开发的新手,现在我正在尝试使用 codeigniter,我想在删除链接上设置一个 javascript 确认框。现在我使用它让它工作得相当好:

<script type="text/javascript">
    function con(message) 
        var answer = confirm(message);
        if (answer)
        
            return true;
        

        return false;
    
</script>

还有这个:

echo '<a href="/groups/deletegroup/'.$group->id.'" OnClick="return con(\'Are you sure you want to delete the group?\');" class="btn small light-grey block">Delete</a>';

我遇到的问题是第一次点击链接时没有弹出窗口,但之后的每次点击都可以正常工作。我也觉得也许我应该使用 document.getElementById 和 window.onload 让它正常工作。 任何帮助将不胜感激。

我最终使用了一个如下所示的 jquery 解决方案:

$(document).ready(function ()
$('.delete').click(function (e) 
    e.preventDefault();
    var href = $(this).attr('href');
    $.msgAlert(
        title: 'Delete'
        ,text: 'Do you really want to delete this group?'
        ,type: 'error'
        ,callback: function () 
                location.href = href;
        
    );
)

);

我将商业 msgUI 用于 msgAlert 框。

【问题讨论】:

脚本标签是在代码中链接声明的上方还是之后? 在页面上方 直接试试onclick="return confirm('Are you sure you want to delete the group?')" 谢谢!直接的工作:) 【参考方案1】:

试试这个...

HTML:

<a href="#" id="btn-delete">Delete</a>

JS:

//window.onload = function() 
    var btnDelete = document.getElementById('btn-delete');
    btnDelete.onclick = function() 
        var message = 'Are you sure you want to delete the group?';
        if (confirm(message)) 
            // delete something...
        
    
//;

http://jsfiddle.net/PEHx9/

【讨论】:

我正在尝试这个,但它没有弹出任何内容,并且我的 javascript 控制台将其吐出:Uncaught SyntaxError: Unexpected token ILLEGAL 你有什么浏览器/版本? 仅链接的答案不是未来的证明,请在您的答案中包含相关代码。

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

如何在提交按钮上设置 javascript 弹出确认窗口的样式? [复制]

Internet Explorer 9/JavaScript:禁用 ActiveX 的确认警报/弹出窗口 [关闭]

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

JavaScript笔记--- BOM(open 与 close;弹出消息框和确认框;将窗口设置为顶级窗口;history 对象;设置浏览器地址栏上的URL)

为啥我的 Javascript 弹出窗口不再起作用?

jquery控件-实现自定义样式的弹出窗口和确认框(转)