以下程序是向TWebBrowser中的Form对象赋值的,如果是输入框(INPUT)就没问题,但是如果是文件框(File)就不行,有什么办法可以解决吗?var
  o : Olevariant;
begin
  o := WebBrowser.OleObject.document.all.item('wybh',0);   //找到输入框
  o.value := 'TEST';
  o := WebBrowser.OleObject.document.all.item('file',0);   //找到文件框
  o.value := ExtractFilePath(Application.ExeName)+'PrintHouse.jpg';
  WebBrowser.OleObject.document.Forms.Item(0, 0).submit;          //第一个表单提交

解决方案 »

  1.   

    WebBrowser.OleObject.document.all.item('file',0);   
    file應該用你的文件框的id才行吧
      

  2.   

    file应该用文件框的id才能返回o
    但o.value还是赋值无效,我认为这是IE出于安全考虑,一定要你点'浏览'按钮选择文件。
      

  3.   

    是呀,我想是TWebBrowser控件出了点问题。
      

  4.   

    没问题,文件框本来就不能赋初值!你这样做的实质是利用COM接口实现对DHTML模型的控制~~~但其实包括网页中的脚本和HTML都不能实现给文件框赋初值,你这样做理所当然也是不行的