簡體   English   中英

為什么單擊按鈕后無法提交表單?

[英]Why won't this work to submit a form on the click of a button?

我試圖通過單擊c#Web瀏覽器控件中的按鈕來提交表單。

[表單代碼]

<form action="sendmessage.aspx" method="post" name="sendmessage">

[C#代碼]

private void Form1_Load(object sender, EventArgs e)
{
    HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
    HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");

    IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
    element.text = "function submitForm() 
    { 
        document.getElementsByName('sendmessage')[0].value.submit(); 
    }";

    head.AppendChild(scriptEl);
}

private void button2_Click(object sender, EventArgs e)
{
    webBrowser1.Document.InvokeScript("submitForm");
}

任何幫助,將不勝感激 。 謝謝

如果未按下按鈕中的代碼,則需要將處理程序綁定到該代碼。 您可以在標記,負載或屬性窗口中執行此操作。 最簡單的方法是在屬性窗口中。 選擇按鈕,在屬性選項卡中單擊小閃電,然后找到click事件。 選擇您的button2_Click方法,它將綁定到您的按鈕。 然后應該點擊該代碼。

只是一個建議:與其以這種方式注入JavaScript,不如在客戶端上聲明腳本,然后將其添加到元素中的onclick(難看)或添加一個事件偵聽器(更好)。 如果您的按鈕僅用於啟動客戶端功能,則無需在服務器上進行任何處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM