为什么不能通过点击按钮来提交表单呢?

本文关键字:提交 表单 按钮 不能 为什么 | 更新日期: 2023-09-27 18:14:20

我尝试在c# web Browser控件中单击按钮提交表单。

(代码形式)

<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");
}

任何帮助都会很感激。由于

为什么不能通过点击按钮来提交表单呢?

如果按钮中的代码没有被击中,则需要将处理程序绑定到它。您可以在标记、加载或属性窗口中执行此操作。最简单的方法是在属性窗口中。选择按钮,单击属性选项卡中的小闪电,并找到单击事件。选择button2_Click方法,这将把它绑定到按钮。然后应该击中该代码。

只是一个建议:不要以这种方式注入JavaScript,而是在客户端声明脚本,然后在元素中添加onclick(很难看)或添加事件侦听器(更好)。如果你的按钮只会触发客户端功能,你根本不需要在服务器上处理它。