procedure TForm1.Button2Click(Sender: TObject);
var
  vDocument: IHTMLDocument2;begin  vDocument := WebBrowser1.Document as IHTMLDocument2;
  if not Assigned(vDocument) then Exit;
  vDocument.parentWindow.execScript(
'function $(id)'#13#10 +
'{'#13#10 +
'    return document.getElementById(id);'#13#10 +
'}'#13#10 +
''#13#10 +
'$("editableDiv").focus();'#13#10 +
'$("editableDiv").innerText ="'+adoquery2.fieldbyname('jieshao').AsString+'";'#13#10 +  //不能进行赋值
'$("btnG").click();'#13#10,
    'javascript');
end;在js语句中,这个$("editableDiv").innerText,,,我试过了,只能进行单行文本的赋值,多行的不行,但是我想把数据库里面的备注赋值给 这个js变量,该怎么做啊?
(还有就是 ,如果把edit里面的文本赋值给它 就可以。如果用memo来给它赋值,,只有当memo里面只有一行文本的时候才可以,多行了就不行了,,该怎么解决啊)

解决方案 »

  1.   

    建议换用$('editableDiv').append('some words');这样的方式来添加。并且获取Memo的文本后把所有的回车换行符替换为<br/>标签。
      

  2.   

    如何替换   回车成<br>? ?
      

  3.   

    还有 你这个 $('editableDiv').append('some words');
    不能用
      

  4.   

    回车成 <br>倒是简单,其它的不会。不一定要靠JS语句来执行的。WebBrowser本身就有很好的控制网页功能。
      

  5.   

    如果仅仅是搜索的文本框,你就直接让WebBrowser打开http://www.google.com/search?q=关键词这个链接就行了,反正Google的搜索页面支持获取GET类型的参数。