JQuery:提交数据后在不同页面中显示对话框

时间:2011-02-05 06:21:49

标签: jquery dialog messagebox

例如,我有一台计算机作为服务器。我有3台客户端PC。

我想在输入一些数据后,提交的数据可以显示为Dialog。当然,如果每个用户打开一些页面,该对话框可以出现在另一个页面中。该对话框的功能是信息消息。

我可以使用JQuery吗?或者你有其他建议吗?这有可能吗?

2 个答案:

答案 0 :(得分:1)

是的,你可以。您可以使用此脚本:

$(document).ready(function() {

    $('#myDialog').dialog({
        autoOpen: false
    });

    $.ajax({
        type: 'GET',
        url: 'webpage_to_check',
        data: { },
        dataType: 'json',
        beforeSend: function(XMLHttpRequest) {
        // You can do something before posting data.
        },
        complete: function(XMLHttpRequest, textStatus) {
        var Response = $.parseJSON(XMLHttpRequest.responseText);
        if ((XMLHttpRequest.responseText == 'false') || (Response.Status == false)) {
            // FAIL
        }
        else {
            // SUCCESS
            $('#myDialog').dialog("open");
        }
        }
    }); 
});

定义一个对话框,调用你的页面(GET或POST)并读取返回的信息。我已定义了JSON答案,但您使用的是XML或纯文本 第二个选项是在每个页面上执行相同的操作,但是使用类似轮询系统的方法,这样您的javascript每X秒检查一次:

$(document).ready(function() {

    $('#myDialog').dialog({
        autoOpen: false
    });


    function ScheduledAction(func, times, interval) {
        var ID = setInterval(function() {
            if (times > -1) {
                if (--times <= 0) {
                    clearInterval(ID);
                }
            }
            func();
        }, interval);
    }

    function CheckStatus()
    {
    $.ajax({
        type: 'GET',
        url: 'webpage_to_check',
        data: { },
        dataType: 'json',
        beforeSend: function(XMLHttpRequest) {
        // You can do something before posting data.
        },
        complete: function(XMLHttpRequest, textStatus) {
        var Response = $.parseJSON(XMLHttpRequest.responseText);
        if ((XMLHttpRequest.responseText == 'false') || (Response.Status == false)) {
            // FAIL
        }
        else {
            // SUCCESS
            $('#myDialog').dialog("open");
        }
        }
    }); 
    }

    ScheduledAction(CheckStatus, -1, 30);

});

答案 1 :(得分:0)

由于服务器推送尚未为Web做好准备,您希望显示对话框的页面将需要轮询服务器以查看数据是否已到达(就像StackOverflow在您编写时轮询一样)一个答案,看看是否已发布其他答案。

您可以使用ajax (这是一个链接),然后使用您自己的代码显示对话框,或者(推荐)使用您喜欢的对话框插件对于jQuery(例如jQuery UI)。