标题:求助:vb6如何实现网页内button的click事件。
只看楼主
guoyong9057
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-5-6
结帖率:0
已结贴  问题点数:20 回复次数:4 
求助:vb6如何实现网页内button的click事件。
程序代码:
<label><a class="btn btn-default" id="exportData2Excel" role="button">导出数据到Excel</a><input id="id_action" name="action" value="exportData2Excel" type="hidden" class="form-control form-control-inline"></label>

    <!--
    jQuery(function($) {
        var actions = [];
        var parents = $('.changelist-actions > label > select').parent();
        $('.changelist-actions > label > select option').each(function(){
            var v = $(this).val();
            if(typeof v == "undefined" || v == "" || v == null){
                return;
            }
            var text = $(this).text();
            var btn = '';
            if (v == "delete_selected") {
                text = '<span class="glyphicon glyphicon-minus"></span> ' + text;
                btn = '<a class="btn btn-danger" id="'+v+'" role="button">'+text+'</a>'
            } else {
                btn = '<a class="btn btn-default" id="'+v+'" role="button">'+text+'</a>';
            }
            $(parents).append(btn);
        });
        var hid = '<input id="id_action" name="action" value="" type="hidden">';
        $('.changelist-actions > label > select').remove();
        $(parents).append(hid);
        $('.changelist-actions > label > .btn').each(function(){
            $(this).click(function(){
                if ($(this).attr('disabled')) {
                    // 已经无效,退出
                    return;
                }
                // 置为无效
                $(this).attr('disabled', true);

                var need = false;
                if (actions) {
                    for(var i in actions) {
                        if ($(this).attr('id') == actions[i]) {
                            need = true;
                            break;
                        }
                    }
                }
                var r = false;
                if (need) {
                    r = confirm($(this).text() + ",继续吗?");
                } else {
                    r = true;
                }
                if (r==true) {
                    $('#id_action').val($(this).attr('id'));
                    var timeid = $(this).attr('id');
                    $('div.changelist-content form').submit();
                    setTimeout(function (){
                        // 置为有效
                        $('#'+timeid).attr('disabled', false);
                    }, 2500);
                } else {
                    // 置为有效
                    $(this).attr('disabled', false);
                }
            });
        });
    });
    //-->
    

以上为网页代码




以下代码无法实现点击下载,如何修改?
程序代码:
Private Sub Command3_Click()
    Dim vDoc, vTag
    Dim i  As Integer
    Set vDoc = WebBrowser1.Document

    For i = 0 To vDoc.All.length - 1                
        If UCase(vDoc.All(i).tagName) = "INPUT" Then          
            Set vTag = vDoc.All(i)
            If vTag.Name = "action" Then              
                Select Case vTag.id
                    Case "id_action"
                        vTag.Select
                        vTag.Click
                End Select
            End If
        End If
    Next i



[此贴子已经被作者于2021-5-6 23:51编辑过]

搜索更多相关主题的帖子: label this text var button 
2021-05-06 23:50
guoyong9057
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-5-6
得分:0 
没人帮我看看吗?
2021-05-07 12:32
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:7 
<label><a class="btn btn-default" id="exportData2Excel" role="button">导出数据到Excel</a><input id="id_action" name="action" value="exportData2Excel" type="hidden" class="form-control form-control-inline"></label>
---------------
<label> 表示一个标签,可以关联input控件,没有for 属于,我个人理解为不关联。
<a class="btn btn-default" id="exportData2Excel" role="button">导出数据到Excel</a>  一个链接
<input id="id_action" name="action" value="exportData2Excel" type="hidden" class="form-control form-control-inline">      一个隐藏按钮
</label>

================
无法搭建调试环境,无法看。
建议:
1、使用可以调试的浏览器,检查这里单击后是调用什么函数。找不到函数的话,也可以找到触发了那个事件,对应的对象去触发。
2、在VB里加载网页后中断,检查浏览器对象,检查浏览器对象里这个执行的函数是属于哪一个对象的什么事件,对应的去写。
靠看到 input 就猜 input 是没用的。

有可能需要用VB重写下面这个JS函数,以调用最终的函数。



授人于鱼,不如授人于渔
早已停用QQ了
2021-05-07 19:08
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:7 
这个input是hidden属性,隐藏的。
执行导出的是id="exportData2Excel"的A标签,找这个A标签
2021-05-07 19:16
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:7 
看看下面代码
private Sub Command3_Click()
    Dim vTag,vcount
    Dim i  As Integer
    Set vtag = webbrowser1.Document.getElementsByTagName("input")
    VCOUNT = vtag.length
   For i = 0 To VCOUNT - 1
     If vtag(i).id="id_action" Then
         vtag(i).Click
         exit for     
     endif
  Next i
2021-05-11 16:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505665-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050687 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved