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);