Показать полную графическую версию : очень сложный вопрос по js
существует сайт, я видел, но потерял линк...(
где при перетаскивании значков с рабочего стола например в окно браузера происходит автоматический аплоид на сервер!
я хочу посоветоваться какбы такоеже можно сотворить с помощью чего?
java script?
покопал в сторону dhtml нажел атрибут ondragover
...
какие есть советы?
Vlad Drakula
03-03-2005, 23:11
E-mail
ну... я думаю что это удобнее делать на флеше.
Prisoner
04-03-2005, 10:22
Тут два варианта:
1) Есть форма с диалогом выбора файла (поле type="file"). Если описать обработчик события onDrop (когда пользователь отпускает кнопку мыши, завершая операцию drag-n-drop, в элементе-цели), можно сабмитить форму автоматом. Просто, дело в том, что input'а с type="file" свойство value - readonly.
2) Цель drag-n-drop'а может быть какой угодно, но т.к. формы нет, то придется формировать запрос вида post самостоятельно (этап из варианта №1 когда сабмитится форма).
Еще стоит разобраться с данными события ondrop - какие они и каков их формат, это понадобится в обработчике.
vadimiron
04-03-2005, 17:05
ой, по-моему, легче без этого обойтись :) сделать обычную форму типа обзор-выбор и не мучаться
BOOL CDlgAddDPath::OnInitDialog()
{
CDialog::OnInitDialog();
...
m_edPath.DragAcceptFiles();
}
class CDropFilesEdit1 : public CEdit {
public:
virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) {
if (message == WM_DROPFILES) {
HDROP hDropInfo = (HDROP)wParam;
UINT nFiles = ::-DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
for (UINT iFile = 0; iFile < nFiles; iFile++) {
char szFileName[MAX_PATH];
::-DragQueryFile(hDropInfo, iFile, szFileName, MAX_PATH);
SetWindowText(szFileName);
}
::-DragFinish(hDropInfo);
}
return CEdit::-DefWindowProc(message, wParam, lParam);
};
};
class CDlgAddDPath : public CDialog {
...
CDropFilesEdit1 m_edPath;
...
};
Это на VC.
на js надо разобраться как...
в данный момент волнует как узнать адрес или хотябы тип аплоидного файла который перетаскиваем в окно(ondragenter)?
Prisoner
05-03-2005, 10:45
vadimiron, E-mail
А если почитать соответствующую статью (http://webmascon.com/topics/technologies/13a.asp), то можно не переживать так сильно :).
Prisoner
не нашел ответа на вопрос...(
меня не волнует взаимосвязь с сервером, меня интересует работа на стороне клиента, после попадания передаскиваемого файла с рабочего стола на окно браузера должен высвечиваться адрес файла, в браузере на стороне клиента. как?
Prisoner
05-03-2005, 23:20
Где высвечиваться? Если в уже существующей форме (в поле file), то ничего не получится (см. выше). Если нет - то тут поможет (http://msdn.microsoft.com/workshop/author/dhtml/reference/events/ondrop.asp) msdn (чаще лишь отчасти :))
Prisoner
да не обязательно в поле файл просто алерт обычный с именем файла хотябы
Prisoner
05-03-2005, 23:36
Тогда msdn.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.