C#窗体中怎样获取HTML控件的值

C#窗体中怎样获取HTML控件的值,第1张

你可以用webBrowser控件

然后再事件中添加

System.Windows.Forms.HtmlDocument document =form1.webBrowser1.Document

this.TextBox.text=document.All["textfield2"]

你试试看

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

</head>

<body>

<div>我是div</div>

<input type="text">

<a href="###">点击我获取所有标签里的值</a>

<script type="text/javascript">

    var div = document.getElementsByTagName('div')[0],

        input = document.getElementsByTagName('input')[0],

        a = document.getElementsByTagName('a')[0]

    a.onclick = function () {

        alert('div里的值是:' + div.innerHTML + '\n' + 'input里的值是:' + input.value + '\n' + 'a标签里的值是:' + a.innerHTML)

    }

</script>

</body>

</html>

一般来说,有起始和结束标签的(也就是双标签)获取其中的值都是用的innerHTML属性,单标签的获取其中的值都是用value属性的。

CppWebBrowser的使用三 获取表单内容

主要函数如下:

AnsiString __fastcall TMainForm::GetFormValue(TCppWebBrowser *CppWebBrowser1, AnsiString ActionStr)

{

//赋值

AnsiString MyStr = ActionStr

AnsiString SName,SId,SValue

AnsiString ReturnStr//返回值

ReturnStr = ""

SName = MyStr.SubString(1,MyStr.Pos(",")-1)

MyStr = MyStr.SubString(MyStr.Pos(",") 1,MyStr.Length()-MyStr.Pos(","))

SId = MyStr.SubString(1,MyStr.Pos(",")-1)

SValue = MyStr.SubString(MyStr.Pos(",") 1,MyStr.Length())

if(SValue==NULL)SValue=""

VARIANT id, index,id1,index1

IDispatch *spDispatch

IHTMLDocument2 *pDoc2

IHTMLElement *pElement

IHTMLElementCollection *pElementCol

IHTMLFormElement *pFormElement

IHTMLInputElement *pInputElement//Input

IHTMLTextAreaElement* pTextAreaElement// TextArea

IDispatch *WebDocument=static_cast<IDispatch*>(CppWebBrowser1->Document)

pDoc2=static_cast<IHTMLDocument2*>(WebDocument)

//首先获取IWebBrowser2接口

if (SUCCEEDED(pDoc2->get_forms(&pElementCol))) //得到form

{

long p=0

if(SUCCEEDED(pElementCol->get_length(&p))) //哪一个form

if(p!=0)

{

for(long i=0i<=(p-1)i )

{

V_VT(&id) = VT_I4

V_I4(&id) = i

V_VT(&index) = VT_I4

V_I4(&index) = 0

if(SUCCEEDED(pElementCol->item(id,index, &spDispatch)))

{

if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLFormElement,(void**)&pFormElement)))

{

long q=0

if(SUCCEEDED(pFormElement->get_length(&q))) //得到form中的控件个数

for(long j=0j<=(q-1)j )

{

V_VT(&id) = VT_I4

V_I4(&id) = j

V_VT(&index) = VT_I4

V_I4(&index) = 0

if(SUCCEEDED(pFormElement->item(id,index, &spDispatch)))

{

if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLElement,(void**)&pElement)))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6132331.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-15
下一篇2023-03-15

发表评论

登录后才能评论

评论列表(0条)

    保存