2013-04-12 6 views
1

Привет всем У меня есть div на моей странице, который представляет всплывающее окно. У меня есть кнопка внутри окна. При нажатии кнопки мне нужно вызвать функцию javascript (мне нужно сделать это только на стороне клиента, а не на сервере). Если проверка прошла успешно, всплывающее окно может закрыться. Если нет, он должен отобразить предупреждающее сообщение и ОСТАНОВИТЬ ВМЕСТО ЗАКРЫТИЯ. Мне нужно закрыть всплывающее окно, только если проверка прошла успешно. Кроме того, он должен отображать предупреждение и просто оставаться. Как мне заставить его остаться? Ниже приведены мои коды.modal popup javascript

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;"> 
+0

Что вопрос? – Cristy

+0

Мне нужно закрыть всплывающее окно, только если проверка прошла успешно. Кроме того, он должен отображать предупреждение и просто оставаться. – MusicLovingIndianGirl

+0

Где вы проверяете? – Ian

ответ

1

Используйте beforeClose событие

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

@Все, у меня проблема. Во всплывающем окне у меня есть 4 выпадающих меню. От часа, от минуты, до часа и до минуты. На родительской странице есть сетка с двумя столбцами - 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. Как это сделать? – MusicLovingIndianGirl

+0

Спасибо всем, что не заметил мой вопрос. Я сам ее решу. – MusicLovingIndianGirl

+0

@ Айшварья Разве вы не видите, что приняли ответ? –