如何进行表单提交?

时间:2013-08-02 13:54:04

标签: c++ mshtml

在javascript中,我们可以使用

进行表单提交
document.getElementById('edit').form.submit();

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

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

但没有采取任何行动。

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

1 个答案:

答案 0 :(得分:1)

从文档中检索到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示例大致相同的方式完成。