在程序界面中使用了WebBrower组件。该组件导入了一个html文件,该文件中存在一个表单。表单里面有个textarea区域,用户在textarea区域编辑后如何能够在用户不递交表单的情况下,取出textarea区域中用户编辑的内容?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);begin
      webbrowser1.Navigate('http://blog.csdn.net/technofantasy/archive/2005/06/28/405475.aspx');end;procedure TForm1.Button2Click(Sender: TObject);
    var
      t : IHTMLTextAreaElement;
      i : integer;
    begin  while webbrowser1.Busy do
        application.ProcessMessages;  for i := 0 to(webbrowser1.Document as IHTMlDocument2).all.length - 1  do
      begin
        (webbrowser1.Document as IHTMlDocument2).all.item(i,varempty).QueryInterface(IHTMLTextAreaElement, t);
        if(t <> nil) then
          memo1.Text := t.value;    t := nil;
      end;
    end;
      

  2.   

    上面的代码需要引用MSHTML。
    另外最好加入下面的代码:procedure TForm1.FormCreate(Sender: TObject);
    begin
      OleInitialize(nil);
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      OleUninitialize;
    end;