Как можно улучшить такой код?
Подскажите, пожалуйста, как можно улучшить JS код и оптимизировать его?
Данный код частично написан мною, частично взять из сэмплов. Если где-то я ошибаюсь, пожалуйста, поправьте меня ;) Описание: Есть функция, которая отвечает за аплоад файлов с нескольких ajax-контролов. Здесь она просто грузит файлы в кэш, так как потом вернувшееся значение функции submitbutton_click() отправляется на сервер, и на каждом контроле выполняется метод, который аплоадит эти файлы в директорию, где находится сам проект. Серверный код, написанный на C#. В первом методе, OnInit, аттрибут кнопки SubmitButton получается значение, являющееся результатом выполнения JS функции submitbutton_click(). Метод fileinput_FileUploaded отвечает за копирование заапложенных файлов по указанному пути (в данном случае, этим путем является директория где находится solution. Код:
protected override void OnInit(EventArgs e)
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="middle">
<td class='standardText'><asp:Label Visible="true" ID="label1" runat="server"></asp:Label></td>
<td class='standardText'><CuteWebUI:UploadAttachments runat="server" ManualStartUpload="true" ID="fileinput1"
InsertText="Browse Files1" onfileuploaded="fileinput_FileUploaded"></CuteWebUI:UploadAttachments></td>
</tr>
<tr valign="middle">
<td class='standardText'><asp:Label Visible="true" ID="label2" runat="server"></asp:Label></td>
<td class='standardText'><CuteWebUI:UploadAttachments runat="server" ManualStartUpload="true" ID="fileinput2"
InsertText="Browse Files2" onfileuploaded="fileinput_FileUploaded"></CuteWebUI:UploadAttachments></td>
</tr>
<p>
<asp:Button runat="server" ID="SubmitButton" Text="Submit"/>
</p>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
В этом JS скрипте, в uploadobj и uploadobj2 записываем значение ID двух контролов, и затем проверяем, если хотя бы в одном есть больше одного файла для записи, начинаем аплоадить их поочереди.
function submitbutton_click() {
var submitbutton = document.getElementById('<%=SubmitButton.ClientID %>');
var uploadobj = document.getElementById('<%=fileinput1.ClientID %>');
var uploadobj2 = document.getElementById('<%=fileinput2.ClientID %>');
if (!window.filesuploaded) {
if (uploadobj.getqueuecount() > 0 || uploadobj2.getqueuecount() > 0) {
uploadobj.startupload();
uploadobj2.startupload();
}
return false;
}
window.filesuploaded = false;
return true;
}
|
| Часовой пояс GMT +3, время: 16:13. |