2010-08-09 3 views
0

Я пытался сделать последующие:JQuery UI закрыть диалоговое окно, когда форма будет отправлена ​​

  • форма получает показал в JQuery Диалог
  • Когда форма получает представлен, диалог JQuery должен закрыть

I я пытаюсь использовать следующий код:

$('#RegisterDialog').dialog({ 
       autoOpen: false, 
       closeOnEscape: false, 
       position: 'center', 
       modal: true, 
       width: 600, 
       buttons: { 
        "Cancel account registration": function() { 
         $(this).dialog("close"); 
         window.location = 'http://localhost/'; 
        } 
       } 
}); 

$(".Register").click(function() { 
      $('#RegisterDialog').dialog("close"); 
      $('#RegisterDialog').hide(); 
}); 

Однако он скрывается и снова появляется. Я также попробовал «autoClose: false».

Любая помощь пожалуйста?

+0

Хммм, просто примечание. Это выполняется при загрузке документа. Может быть, это проблема? Когда форма запускается, она отправляет запрос на ту же страницу. – aam1r

+1

В настоящее время у вас autoOpen: false, и диалог не должен появляться после загрузки страницы. Затем, как вы показываете свое диалоговое окно, где находится диалоговое окно $ ('# RegisterDialog'). («Open»); срабатывает? – ischenkodv

ответ

0

Из документации JQuery ...

.dialog("destroy") 
// Remove the dialog functionality completely. This will return the element back to its pre-init state. 

Это может сделать трюк.

0

Я думаю, что вы должны сделать, как это

$(".Register").click(function() { 
      $('#RegisterDialog').dialog("close"); 
      //$('#RegisterDialog').hide(); --> no need to call this 
}); 
+0

Просто попробовал; не работает. Я также пробовал .dialog («destroy»), и это тоже не работает. Он уходит на секунду и сразу возвращается. Что-то продолжает запускать его, чтобы вернуться назад. Кажется, – aam1r

+0

Тогда pls дают более подробную информацию, весь код, если это возможно ... –

1

Вы должны попробовать .remove().

Это удалит элемент, и он не появится снова.

Смежные вопросы