Как можно улучшить такой код?
Подскажите, пожалуйста, как можно улучшить 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, время: 09:47. |