VBA Excel 运行 JavaScript 表单事件

VBA Excel run javascript form event

本文关键字:表单 事件 JavaScript 运行 Excel VBA      更新时间:2023-09-26

我已经尝试通过id获取元素,但是html不包含它。如下所示,这是我尝试自动更改的下拉列表的脚本。它将更改名称

appIE.Document.getElementById("supervisor").Value = "Sup_name"

但是,它不会触发生成人员列表的事件。

表单的顶部还包括<form id='filterform' action="javascript:void(0);">

包含我需要调用的函数的 JavaScript 如下。

<script type="text/javascript">
    $(function() {
        $('#supervisor').change(function() {
            document.getElementById('results').innerHTML = '<img src="/img/busy.gif" />';
            var str = $('#filterform').serializeArray();
            $.ajax({
                url: 'ajax.php?p=agentrosters&mode=1&field=supervisor',
                type: 'POST',
                data: str,
                success: function(j) {
                    //alert(j);
                    document.getElementById('results').innerHTML = j;
                    document.getElementById('lastsearch').value = 'supervisor';
                    resetscript('supervisor');
                },
                failure: function() {
                    document.getElementById('results').innerHTML = 'There has been an error, please try again';
                    resetscript('null');
                }
            })
        })
    })
</script>

关于如何让它工作的任何想法?

如果元素是表单的一部分,您可以提交表单,或者您可以在元素本身上使用 onchange 事件。因此,您可能希望

appIE.Document.getElementById("supervisor").Value = "Sup_name"

更改为 With appIE.document.getElementById("supervisor") .Value = "Sup_name" .onchange End with

如果它是表单的一部分,请将".onchange"更改为".parentElement.Submit"

这对我有用。