Диалог Jquery перестает закрываться при возникновении ошибки? - PullRequest
0 голосов
/ 16 октября 2010

Я использую jQuery Dialog в ASP.NET. У меня это работает нормально, за исключением того, когда я нажимаю кнопку OK в диалоговом окне, и если произошла ошибка, я хочу показать ошибку в метке. К моменту запуска события закрытия диалога уже слишком поздно. Как я все еще показываю диалог, если произошла ошибка. Я не хочу закрывать диалоговое окно при возникновении ошибки.

   //setup edit person dialog
     $('#uploadPic').dialog({
             autoOpen: false,
             modal: true,
             height: 375,
             width: 400,    
             draggable: true,
             title: "Upload Picture",
             open: function(type, data) {
                 $(this).parent().appendTo("form");
             }
         });
     }

    function showDialog(id) {
        $('#' + id).dialog("open");
    }

    function closeDialog(id) {
        $('#' + id).dialog("close");
    }

  <input type=button value="Change Image" onclick="javascript:showDialog('uploadPic')" />



<div id='uploadPic'>     
     <asp:FileUpload ID="InputFile"   runat="server" class="ms-fileinput" 
        size="35" />   
     <asp:Button Id="btnOK" runat="server"  Width="70px" Text="<%
    $Resources:wss,multipages_okbutton_text%>" OnClick="btnOK_Click" />
      <asp:Button Id="btnCancel" runat="server" Width="70px"
      CausesValidation="false" Text="Cancel" 
OnClientClick="javascript:closeDialog('uploadPic')" />
            </div>

В коде я не вызываю какие-либо методы JQuery.

1 Ответ

0 голосов
/ 16 октября 2010

Проблема заключается в том, что вы загружаете файл из окна браузера, используя стандартный метод POST в своей форме - что приведет к переходу браузера на новую страницу.

Вы можете использовать различные методыразрешить браузеру загружать файл без принудительной навигации по страницам.Я бы порекомендовал посмотреть на библиотеку типа Plupload для обработки загрузки.Проверьте их демо:

http://plupload.com/example_queuewidget.php

...