求C# winform中点击按钮执行网页JS提交表单代码实现~~!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求C# winform中点击按钮执行网页JS提交表单代码实现~~!相关的知识,希望对你有一定的参考价值。

已知网页中定义保存JS代码:function doSave(obj)obj.action="/lemis" "/supervise/entBasicInfoAction.do?method=save

参考技术A 如果你用的是 webbrowser 的话,可以执行js脚本,或者出发页面上的html控件的事件来达到目的:
我不知道你的应该,我列两个你参考一下吧
webBrowser1.Document.GetElementById("userid").InnerText = Account;
webBrowser1.Document.GetElementById("password").InnerText = textBox2.Text;
IHTMLDocument2 id2 = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 win = id2.parentWindow;
win.execScript("CheckAndLogin()", "javascript");

或者执行按钮事件
webBrowser1.Document.GetElementById("card_number").InnerText = Account;
webBrowser1.Document.GetElementById("card_password").InnerText = textBox2.Text;
HtmlElement elemButton = webBrowser1.Document.GetElementById("select_order");
mshtml.HTMLInputElement button = (mshtml.HTMLInputElement)(elemButton.DomElement);
button.click();
参考技术B   < div>
   你的名字< asp:TextBox ID="name" runat="server">< /asp:TextBox>< br />
  < br />
   你的网站< asp:TextBox ID="website" runat="server">< /asp:TextBox>< br />
   < br />
  < br />
   < asp:Button ID="Button1" runat="server" Text="send" />< br />
   < br />
  < br />
   学习request 和 response的用法< br />
   < br />
   < br />
   < /div>
  < /form>

-----------------------------------------------------------------------------------------------------------
< form id="form2" method="post" runat="server"> post方法提交表单
   < div>
  你的名字< asp:TextBox ID="name2" runat="server">< /asp:TextBox>< br />
  < br />
   你的网站< asp:TextBox ID="website2" runat="server">< /asp:TextBox>< br />
  < br />
   < br />
   < asp:Button ID="Button2" runat="server" Text="send" />< br />
   < br />
   < br />
   学习request 和 response的用法< br />
   < br />
   < br />
   < /div>
  < /form>
参考技术C 在delphi中是通过mshtml配合webbrowser控件实现的
比如delphi中是 (webbrowser.document as IHTMLDocument2).parentWindow.doSave();即可
既然C#和Delphi是同一个人设计的 我想差别应该不大 只能帮你到这儿了

求JS 大神指导,页面的防止重复点击事件(具体见补充)

我在一个页面上有两个 按钮,都需要一个重复提交的限制,在3-5秒内不能2次点击,现在我能够实现的是一个按钮的不能重复点击,要是加上第二个按钮总是出各种BUG ,求指导

这是我的, 按钮绑定的show();

    可以添加标记,第一次点击后变为false,每次点击判断这个标记是true才执行。

    如果是按钮防止重复点击,可以再按钮点击后,给按钮添加disabled属性。

    JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

    它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 

    JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。

参考技术A 点击事件里给button标签加一个自定义属性,存上次点击时间追问

求详细代码,JS 真心的没怎么做过

追答<input type="button" id="submit" value="提交">
<script>
$(document).ready(function()  
  $("#submit").click(function()  
    var nowTime = new Date().getTime();
    var clickTime = $(this).attr("ctime");
    if( clickTime != 'undefined' && (nowTime - clickTime < 5000))
        alert('操作过于频繁,稍后再试');
        return false;
     else
        $(this).attr("ctime",nowTime);
        alert('提交成功');
            
   );
 );
</script>

     


        

     

 

本回答被提问者采纳
参考技术B <!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>last.html</title>
<style>
</style>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
var SLEEP = 5000;
    $ (function ()
    
    $ (':button').click (function ()
    
    var me = $ (this);
    me.prop ('disabled', true);
    me.interval = setInterval (function ()
    
    me.prop ('disabled', false);
    clearInterval (me.interval);
    , SLEEP);
    );
    );
</script>
</head>
<body>
<input type="button" value="btn1" />
<input type="button" value="btn2" />
</body>
</html>

追问

没什么效果啊,看起来提交前

提交后

还是重复提交了

追答

不知道,防止表单重复提交,不是你这样做的,你的做法有问题

参考技术C 可以的,一般博客里面很常见,hdp134793的博客有相关介绍

以上是关于求C# winform中点击按钮执行网页JS提交表单代码实现~~!的主要内容,如果未能解决你的问题,请参考以下文章

求JS 大神指导,页面的防止重复点击事件(具体见补充)

用C#在winform窗口下点击按钮选择要提交的文件然后上传到数据库或其他地方,还可以让其他人下载和查看

c#中如何写单击一个按钮执行另一个按钮的事件!求正确答案!

C# Winform打印超市小票的代码,在点击收银按钮时,立马自动打印...跪求帮助,高分!

C# winform 父窗口子窗口按钮控制

C# winform 点击一个按钮退出窗体 并关闭相应的进程