jQuery警报框

jQuery警报框,jquery,dialog,Jquery,Dialog,有没有一种使用jQuery设置警报的好方法 我有一个PDF,我需要我的访客同意,然后再继续 所以:用户点击PDF链接 警告框打开:“在我们向您提供此PDF之前,您必须同意我们的声明” 我同意按钮(PDF下载继续)/我不同意按钮(框关闭,显示原始页面) 这是处理这个问题的最好方法吗 我应该使用对话框吗 我建议使用模式确认对话框。它还混合了背景,使对话框更加突出 文档位于我在经历了许多混乱之后发现,最好的方法是使用对话框ui模拟javascript本机警报的简单方法,如下所示(顺便说一句,我自己写了

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

我有一个PDF,我需要我的访客同意,然后再继续

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

这是处理这个问题的最好方法吗


我应该使用对话框吗

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


文档位于

我在经历了许多混乱之后发现,最好的方法是使用对话框ui模拟javascript本机警报的简单方法,如下所示(顺便说一句,我自己写了这篇文章,因为在这个主题上有用的东西非常少,而且很多人都在琢磨如何使用插件,所以我用多阶段的“this”或“that”ZZZzzz…):


NB:如果没有fass,您无法真正实现confirm()函数的等效功能,但您可以使用html丰富警报,并在jQueryalry()调用结束时自己为该丰富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');     
}
函数JQueryAlert(消息,窗口高度){
/****
*相当于javascript“警报”
*/
如果(!windowHeight)var windowHeight=470;
$(“#msgdialog”).remove();
$(“正文”)。追加(“”);
thatmsg=$(“#msgdialog”);
$(“#msgdialog”)。对话框({
可调整大小:false,
可拖动:错误,
宽度:770,
高度:窗高,
上下文:thatmsg,
莫代尔:是的,
自动打开:错误,
按钮:{
“取消”:函数(){
对话框(“关闭”);
}/*,
“查看源”:函数(){
警报($('').append($(this.clone()).html());
}*/
}
});     
$(“#msgdialog”).html(消息);
$(“#msgdialog”).dialog('open');
}
与上面相同,只是它从url获取内容

  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');
    });
}
函数JQueryHTML(url,窗口高度){
/****
*相当于javascript“警报”,但获取url
*/
如果(!windowHeight)var windowHeight=470;
$(“#对话框”).remove();
$(“正文”)。追加(“”);
这=$(“#对话”);
$(“#对话框”)。对话框({
可调整大小:false,
可拖动:错误,
宽度:770,
高度:窗高,
背景:即,
莫代尔:是的,
自动打开:错误,
按钮:{
“取消”:函数(){
该对话框(“关闭”);
}/*,
“查看源”:函数(){
警报($('').append($(this.clone()).html());
},
“查看Url”:函数(){
警报(url);
}*/
}
});     
$.get(url、函数(数据){
$(“#dialog”).html(数据);
$(“#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']);
    }
if($\u会话['alert\u message'])){
回音“\n”;
回显“$(函数(){\n”;
echo“JQueryMessage('.”.str\u replace(“'”,“\'”,$\u会话['alert\u message'])。“);\n”;
回声“});\n”;
回音“\n”;
取消设置($_会话['alert_message']);
}

如果要使用Jquery警报/确认/提示框

或者更好的是,你应该使用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:)

您可以在

“您不能真正执行等同于confirm()函数的操作”-下面的问题显示了一种相当低调的方法,可以通过jquery ui对话框实现等同于confirm()的函数:不,我的意思是您不能“如果(confirm('yes no')){//do something;}”