Конференция "Сети" » Заполнение поля TWebBrowser типа file [D7, WinXP]
 
  • Alex_C (26.10.07 11:50) [0]
    Не могу заполнить поле типа file. В инете есть куча описаний для тегов INPUT - заполняются без проблем, а вот типа file - не получается имя файла вставить. Делал так:

    Сама ф-ция
    function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
     var
       i, j: Integer;
       FormItem: Variant;
     begin
       Result := False;
       //no form on document  
     if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
       begin
         Exit;
       end;
       //count forms on document  
     for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
       begin
         FormItem := WebBrowser.OleObject.Document.forms.Item(I);
         for j := 0 to FormItem.Length - 1 do
         begin
           try
             //when the fieldname is found, try to fill out  
           if FormItem.Item(j).Name = FieldName then
             begin
               FormItem.Item(j).Value := Value;
               Result := True;
             end;
           except
             Exit;
           end;
         end;
       end;
     end;

    - взята из FAQ

    Использовал:

    FilForm( WebBrowser1, 'upload', 'C:\Tem.txt' );
    Все проходит, поле находится, но на него ничего не выдодится.
  • Сергей М. © (26.10.07 16:00) [1]
    Что говорит отладчик ?
  • MetalFan © (30.10.07 13:18) [2]
    делал заполнение такого поля через clipboard, по-другому не получилось
  • dos999 © (28.02.08 12:23) [3]

    > делал заполнение такого поля через clipboard, по-другому
    > не получилось


    напиши плиз как ты это делал.... очень срочно надо. единственная страница в которую я нашёл, больше негдк о полях типа file вообще не говорят... если можно побыстрее... очень-очень надо
  • DiamondShark © (28.02.08 17:03) [4]

    > Сергей М. ©   (26.10.07 16:00) [1]
    > Что говорит отладчик ?

    Отладчик говрит, что всё чики-пуки, код выполнился, полёт нормальный.
    Если б ты был хоть чуток в той теме, куда свои пять копеек пытаешься вставить, глупых вопросов бы не задавал.


    > Alex_C   (26.10.07 11:50)  

    А браузер не даёт скрипту или внешнему коду изменить value для INPUT type="file":


    input type=file The value, a file name, typed by the user into the control. Unlike other controls, this value is read-only.


    (Ц) МСДН

    И правильно делает, из соображений безопасности. Иначе, интересные вещи можно было бы творить, например, спокойно тырить любые файлы с твоего компа.
  • Фраер (22.05.08 15:40) [5]
    переводи фокус в нужное поле, а потом юзай SendKeys, это ведь так просто
  • Фраер (22.05.08 15:41) [6]
    переводи фокус в нужное поле, а потом юзай SendKeys, это ведь так просто
 
Конференция "Сети" » Заполнение поля TWebBrowser типа file [D7, WinXP]
Есть новые Нет новых   [134432   +19][b:0][p:0.001]