jQuery Alert Box

时间:2010-07-13 21:52:19

标签: jquery dialog

有没有一种使用jQuery设置警报的好方法?

我有一张PDF,我需要访问者在继续之前同意...

所以:用户点击PDF链接     警报框打开:“在我们向您提供此PDF之前,您必须同意我们的声明”     我同意按钮(PDF下载继续)/我不同意按钮(框关闭,原始页面显示)

这是处理此问题的最佳方法吗?

我应该使用对话框吗?

4 个答案:

答案 0 :(得分:4)

我建议使用模态确认对话框。它还融合了背景,使对话更加突出。

文档位于http://jqueryui.com/demos/dialog/#modal-confirmation

答案 1 :(得分:0)

您可以使用名为jquery.msgBox()的插件。它是免费的。

http://jquerymsgbox.ibrahimkalyoncu.com/

答案 2 :(得分:0)

我发现最好的方法之后,这是一种使用对话框ui模拟javascript原生警报的简单方法,完成如下(顺便说一下,我自己写了,因为有很多可用的东西在上面这个主题以及很多人在使用插件时都会出现问题,制作一个多阶段的“这个”或者说“ZZZzzz ......”这个问题:

注意:你不能真正做一个相同的confirm()函数 - 没有fass但是你可以使用html丰富的警报并在jQueryAlery()调用结束时自己为这个丰富的html添加事件

它工作正常,包括一个可选的调试'查看'html或'url'在后者的情况下

function JQueryAlert(message,windowHeight){
    /****
     *  equivalent to javascript 'alert'
     */
    if (!windowHeight) var windowHeight = 470;

    $("#msgdialog").remove();

    $("body").append("<div id='msgdialog'></div>"); 

    thatmsg = $("#msgdialog");

    $("#msgdialog").dialog({
        resizable: false,
        draggable: false,
        width: 770,
        height: windowHeight,
        context: thatmsg,
        modal: true,
        autoOpen: false,
        buttons: {
            "Cancel" : function (){
                thatmsg.dialog("close");
            }/*,
            "View Source" : function (){
                alert($('<div>').append($(this).clone()).html());
            }*/
        }
    });     

    $("#msgdialog").html(message);
    $("#msgdialog").dialog('open');     
}

与上述相同,除了它从网址获取内容

  function JQueryHTML(url,windowHeight){
    /****
     *  equivalent to javascript 'alert' but gets a url
     */

    if (!windowHeight) var windowHeight = 470;

    $("#dialog").remove();

    $("body").append("<div id='dialog'></div>"); 

    that = $("#dialog");

    $("#dialog").dialog({
        resizable: false,
        draggable: false,
        width: 770,
        height: windowHeight,
        context: that,
        modal: true,
        autoOpen: false,
        buttons: {
            "Cancel" : function (){
                that.dialog("close");
            }/*,
            "View Source" : function (){
                alert($('<div>').append($(this).clone()).html());
            },
            "View Url" : function (){
                alert(url);
            }*/
        }
    });     

    $.get(url, function(data) {
        $("#dialog").html(data);
        $("#dialog").dialog('open');
    });
}

编辑:

我使用以下PHP来实现效果

   if ($_SESSION['alert_message']){
        echo "<script>\n";
        echo " $(function() { \n";
        echo "   JQueryMessage('".str_replace("'","\'",$_SESSION['alert_message'])."'); \n";
        echo " }); \n";
        echo "</script>\n";
        unset($_SESSION['alert_message']);
    }

答案 3 :(得分:0)

如果您想使用Jquery Alert / Confirm / Prompt Box check out this example

甚至更好你应该使用jquery弹出窗口。它看起来很简单,只有一些CSS。

$('#errorBtn').click(function(e) {
    if (acceptCondition()=='on'){
        // Prevents the default action to be triggered. 
        e.preventDefault();                
        // Triggering bPopup when click event is fired
        $('#popup').bPopup({
            opacity: 0.6,
            zIndex: 200,
            modalClose: false,
            positionStyle: 'fixed'
        });

你还必须包括jquery.bpopup-0.7.0.min.js :)
您可以在dinbror.dk

处了解更多内容