此问题已经在这里有了答案:
在我的Delphi应用程序中,我有一个TWebDocument可以加载带有TextArea的文档。
这里是文档内容:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="file://c:/projects/tinymce/tinymce.min.js" referrerpolicy="origin"></script>
<script>tinymce.init({selector:'textarea'});</script>
</head>
<body>
<textarea id="texto">TEXT HERE</textarea>
</body>
</html>
我可以使用以下代码在文本区域中获取文本:
Element := (wb1.Document as IHTMLDocument3).getElementById('texto');
Edit1.Text := Element.Value;
但是,如果用户在运行时修改文本区域中的文本呢?如何获得修改后的值?
编辑:这是因为tinyMCE脚本。因此,真正的问题是,如果tinyMCE处于活动状态,如何从TWebBrowser中的TextArea获取值。
嗯,回答我自己的问题:我将tinymce.init更改为:
tinymce.init({
selector:'textarea',
setup: function (editor) {
editor.on('change', function () {
tinymce.triggerSave();
})
}
});