在点击事件期间,每次页面加载时都会打开jQuery对话框模式

时间:2014-11-21 19:48:35

标签: javascript jquery html

我在页面加载时使用jQuery的模态对话框弹出窗口来显示消息,关闭模态后,我正在显示我的页面,页面上有几个按钮。

当我点击其中任何一个按钮时,模态对话框会打开,并在页面上的任何click_event上打开。我不知道如何在同一页面的每个click_event上停用模态对话框。

<script>
    $(document).ready(function () {
        $("#dialog-confirm").dialog({
            resizable: false,
            height: 189,
            width: 500,
            modal: true,
            buttons: {
               Agree: function () {
                    $(this).dialog("close");
                }
            }
        });
    });
 </script>

我的html是:

<div id="dialog-confirm" title="PLEASE READ BEFORE PROCEDDING" 
        style="font-weight: bold">
     <p>Documentation is MANDATORY!</p>
     <p>Please remember to list the PCP and Radiology Services Visited with the 
           and TIME included.  Please select “Agree” to continue.
     </p>
</div>

我在这个论坛上搜索了类似的问题,但是没有找到解决这个问题的方法。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

将您的javascript更改为以下内容:

<script>
$(document).ready(function () {
    confimationDialogShow: function() {
    $("#dialog-confirm").dialog({
        resizable: false,
        height: 189,
        width: 500,
        modal: true,
        buttons: {
           Agree: function () {
                $(this).dialog("close");
            }
        }
    });
    }
});
</script>

在您的服务器上,在Page_Load方法中执行以下操作:

if (!Page.IsPostBack)
{
  ScriptManager.RegisterStartupScript(this,this.GetType(), "Javascript", "javascript: confimationDialogShow();", true);
}

因此,每次第一次加载页面时,您都可以触发启动脚本并显示对话框。页面中的后续邮箱将不再显示该对话框。因为调用它的脚本只有在IsPostBack值为false时才会启动。

快乐编码!!!

更新

嘿罗恩,让我们尝试从$(文件).ready()中取出它。这样做。

<script>
   function confirmationDialogShow() {
        $("#dialog-confirm").dialog({
           resizable: false,
           height: 189,
           width: 500,
           modal: true,
           buttons: {
              Agree: function () {
                 $(this).dialog("close");
              }
           }
        });
   }
</script>

查看Register脚本是否会立即调用它。 BTW - 您的对话框不在asp:UpdatePanel中吗?

答案 1 :(得分:0)

由于缺少按钮页面的html代码,我只是在猜测 将Agree放入引号中,就像在example中完成的那样。

   buttons: {
               "Agree": function () {
                    $(this).dialog("close");
                }
            }

否则您的功能可能适用于您网页上的所有按钮。