如何执行表单提交

How to perform form submit?

本文关键字:表单提交 执行 何执行      更新时间:2023-10-16

在javascript中,我们可以使用进行表单提交

document.getElementById('edit').form.submit();

我想知道如何在C++中使用IHTMLElement来实现这一点?

我尝试从页面中获取表单元素,并使用了IHTMLElement->click() api。

但没有采取任何行动。

如何从页面中获取"FORM"元素并进行提交?

从文档中检索到IHTMLElement后,使用QueryInterface获取指向IHTMLFormElement接口的指针。你做过的一个叫submit()

IHTMLFormElement *form;
hr = element->QueryInterface(
    IID_IHTMLFormElement,
    reinterpret_cast<void**>(&form));
if(!FAILED(hr))
{
    form->submit();
    form->Release();
}

请记住,这不会触发窗体onsubmit事件。您需要自己调用HTMLFormElementEvents::onsubmit来完成这一操作,其方式与上面的submit示例大致相同。