我没有关于这个 TEmbeddedWebBrowser 工具的经验,但根据你的帖子,我正在考虑一种检索表单字段的方法。一旦您知道它包含哪些字段,我想您可以填写它们,因为这似乎不是您帖子的目的。
假设声明了一个表单并且它是可访问的:您可以获取表单并解析它的.elements
集合:如果它在您的页面中声明(给它一个id
属性,然后使用 a document.getElementById()
)很容易,如果表单由声明它可能仍然可行/inside
editor.js
,document.forms
然后使用。
否则:您可以从网上获得一个转储脚本 - 就像这个- 并查看当您调用(editor.js
自然包含之后)dump(data)
或dump(data[body])
. 作为提交按钮调用
data[]
的参数,它应该包含表单的键/值对。这种方法的缺点是必须由 Javascript 填充,因此如果您的表单有单选按钮或复选框,您可能只会看到选定的选项,这就是为什么我会在尝试这个技巧之前先尝试第一个选项。rtevalue()
onclick
data[]
关于注释,您不应该直接使用innerHTML
将 HTML 子树插入文档,因为大多数情况下它不起作用(尤其是涉及表单时),appendChild()
重做工作以确保文档正确,如下所示:
var dummyContainer=document.createElement("span");
var dummyContainer.innerHTML="..."; //insert stuff here, because it's easy to use ;)
myContainer.innerHTML=""; //clearing your "real" container doesn't add anything to the HTML tree, it'll work - you can also use removeChild() in a loop (but it's not as easy to use!)
myContainer.appendChild(dummyContainer); //appendChild will translate properly the text inserted by innerHTML in dummyContainer into a clean HTML subtree