| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > ASP > ASP.NET, <INPUT type=file> и JavaScript .click() |
| Автор: iAlexander.NET 19.7.2004, 09:45 |
| Ув. господа! Не получается вроде простая вещь, может кто знает. ***** КОНТЕКСТ ТЕМА: Редактор HTML в виде web формы ASP.NET. ЗАДАЧА: Графическая web кнопочка "Вставить картинку" (на панели инструментов) id), которая (JScript) открывает окно выбора gif, jpeg на клиенте, после выбора аплоадит в нужную папку на веб сервер и отображает ее в редакторе (внутри <DIV></DIV>) -- execCommand("InsertImage",false,sPath); ПРОБЛЕМА: Из JScript не работает метод click на кнопке, которая вызывает post web формы на сервер. Если кликать мышкой ручками на <input type=file id="fileUpload"> [Browse] и затем на кнопке, например <asp:Button id="btnSave" runat="server" Text="Save"></asp:Button>, то все ок. Загружает все нормально. А если из JScript, то валится на btnSave.click с ошибкой access denined. fileUpload.click() работает, а btnSave.click() нет. В MSDN про эту ошибку только что у JScript тормоза при доступе в неродной домен. Пробовал по-разному реализовывать кнопку постинга, просто frm.submit() все одно. Просто абзац какой-то. ******** На всякий случай куски кода <script language="JScript"> frm.fileUpload.click(); if(frm.fileUpload.contains) // есть объект ? { frm.btnSave.click(); // Вот здесь валится access denined (из JavaScript /JScript/ в IE) var sPath=document.all("tfServerResponce").value; // тащим URL картинки на сервере document.execCommand("InsertImage",false,sPath); // ну и добавляем } </SCRIPT> Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click If Not fileUpload.PostedFile Is Nothing And fileUpload.PostedFile.ContentLength > 0 Then Dim sFileName As String = System.IO.Path.GetFileName(fileUpload.PostedFile.FileName) Dim sPath As String = "d:\inetpub\wwwroot\KnowledgeBase\data\image\" & sFileName Dim sUrl As String = "http://star/knowledgebase/data/image/" & sFileName Try fileUpload.PostedFile.SaveAs(sPath) 'tfServerResponce.Value = sUrl Catch ee As Exception 'tfServerResponce.Value = "error" End Try End If End Sub |
| Автор: Kurt 19.7.2004, 22:41 |
| Честно говоря, JScript толком не юзал, однако вот прям сейчас сделал туповатую формочку с кнопкой и "нажал" из JScript. Хорошо бы более подробно посмотреть на исходники (если это возможно..) - так толком ничего сказать не могу. Может, ты основной кусок (где такие вещи творятся) где-нибудь выложить можешь? Хотя.. можь, кто-нибудь сообразит.. Как я уже говорил, я не спец в JScript. З.Ы. Вопросы по ASP.NET задаются в разделе .NET. |