JQuery MultFile загрузка отключает кнопку загрузки

Я пытаюсь использовать загрузку нескольких файлов jQuery, но возникают проблемы с проверкой. Контроль загрузки файла отключается после моей проверки, и я не могу понять, почему. Я воссоздал минимум здесь, чтобы продемонстрировать проблему.

<%@ Page Language="C#" AutoEventWireup="true"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<script language="c#" runat="server">
    protected void validate(object source, ServerValidateEventArgs args)
    {
        args.IsValid = false;
    }
</script>
<head runat="server">
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="Scripts/jquery.MultiFile.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
        function validate(sender, args)
        {
            args.IsValid = false;
            //addedd as suggested on the following, but it doesn't work
            //fyneworks.com/jquery/multiple-file-upload/#tab-Uploading
            $.fn.MultiFile.reEnableEmpty();  
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:FileUpload ID="attachments" runat="server" class="multi"  />
        <asp:CustomValidator runat="server" ID="customValidator" 
                             ErrorMessage="This field is required" 
                             OnServerValidate="validate"
                             ClientValidationFunction="validate" />
        <br />
        <asp:Button ID="Button1" runat="server" Text="Submit" />
    </form>
</body>
</html>

1 ответ

Решение

Единственный способ выяснить, как решить эту проблему, - это снова включить кнопку вручную. Я добавил таймаут, чтобы убедиться, что все было выполнено до того, как мой код запустился.

setTimeout(function () { $(questionNode).find('> .answer > div > .MultiFile-wrap > .multi').removeAttr('disabled');}, 200);
Другие вопросы по тегам