【问题标题】:modal popup javascript模态弹出 javascript
【发布时间】:2013-04-12 19:44:27
【问题描述】:

大家好,我的页面中有一个 div,它代表一个弹出窗口。我在窗口内有一个按钮。单击按钮时,我需要调用一个 javascript 函数。(我只需要在客户端执行此操作,而不是在服务器中执行此操作)。如果验证成功,则弹出窗口可以关闭。如果没有,它应该显示一条警告消息并STAY THE HERE INSTEAD OF CLOSING。仅当验证成功时,我才需要关闭弹出窗口。否则,它应该显示一个警报并留下来。我如何让它留下来?以下是我的代码。

Div 结构

<script type="text/javascript">


     $(function () {
                    $("#dialog:ui-dialog").dialog("destroy");
                    $('#TimeslotGroup').dialog({
                        autoOpen: false,
                        draggable: false,
                        resizable: false,
                        bgiframe: false,
                        modal: true,
                        width: 700,
                        title: "Timeslot Group Entry",
                        open: function (type, data) {
                            $(this).parent().appendTo("form");
                        }
                    });
                });
                function showDialog(id) {
                    $('#' + id).dialog("open");
                }

                function closeDialog(id) {
                    $('#' + id).dialog("close");
                    $("#dialog:ui-dialog").dialog("destroy");
                }
                //getter
                var modal = $(".selector").dialog("option", "modal");
                //setter
                $(".selector").dialog("option", "modal", true);

             </script>
            <script type="text/javascript">
                Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function (evt, args) {
                    $('#TimeslotGroup').dialog({
                        autoOpen: false,
                        draggable: false,
                        resizable: false,
                        bgiframe: false,
                        modal: true,
                        width: 500,
                        title: "Timeslot Group Entry",
                        open: function (type, data) {
                            $(this).parent().appendTo("form");
                        }
                    });
                });
             </script><div id="TimeslotGroup" class="ui-widget-overlay" style="overflow-y: scroll;">

【问题讨论】:

  • 只有在验证成功时才需要关闭弹出窗口。否则,它应该显示一个警报并停留。
  • 你的验证在哪里?
  • 谁在调用closeDialog,验证逻辑在哪里
  • @Ian,这是函数的一部分。 if (newFromHour &gt; oldFromHour || newFromHour &gt; oldToHour) { alert("do not add."); } 在这里,我需要让弹出窗口保持不变。
  • @Arun,closeDialog 与我的查询无关..我最近包含了验证条件..

标签: javascript popup modal-dialog


【解决方案1】:

使用beforeClose 事件

$( "#dialog" ).dialog({
    beforeClose: function(e, ui){
        if(!valid){
            return false;
        }
    }
});

【讨论】:

  • @All,我有问题。在弹出窗口中,我有 4 个下拉菜单。从小时,从分钟,到小时和分钟。在父页面中有一个包含 2 列的网格 - FromTime 和 To Time。单击一行时,我打开上述弹出窗口。我将从下拉列表中选择的值填充到网格中。例如,我选择值 From Time Hour = 08, From Time Minute = 40; To Time Hour = 09, To Time Minute = 20;它们在网格中填充为 08-40(FromTime) 和 09-20(To Time)。当我选择下一行的时间(从弹出窗口)时,它不应该与 08-40 和 09-20 冲突。如何进行此验证?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2015-12-30
  • 2021-09-28
相关资源
最近更新 更多