簡體   English   中英

如何從Internet Explorer DOM調用JavaScript

[英]how to invoke javascript from Internet Explorer DOM

我正在使用VBA(Excel)來操縱Internet Explorer中加載的網頁中的下拉框。 下拉框附加了一些javascript,因此,當更改下拉選擇時,頁面的UI控件也會更改。

我使用以下功能(自動)從下拉菜單中選擇一個選項。 它更改了保管箱的值, 但不觸發UI更改 (與手動更改保管箱的情況相比)。

Sub selectFromDropdown(ByRef dropdown As HTMLSelectElement, ByVal optionName As String)
    Dim opts
    Dim opt As HTMLOptionElement

    dropdown.Focus
    dropdown.setCapture
    Set opts = dropdown.children
    For i = 1 To opts.Length
        Set opt = opts.Item(i)
        If opt.Text = optionName Then
            opt.Selected = True
            dropdown.selectedIndex = opt.Index
            Exit For
        End If
    Next
    dropdown.releaseCapture
End Sub

那么,如何觸發此下拉框附帶的JavaScript? 還是一般來說,如何通過MS Internet Explorer提供的API以編程方式觸發事件? 謝謝。

您應該顯示足夠的HTML,以便我們可以看到附帶的javascript和事件的類型。

可以說這是“ onclick”

你可以有

opt.Selected = True
opt.FireEvent "onclick"

設置組合框值時,顯式調用javascript函數。

Sub selectFromDropdown(ByRef dropdown As HTMLSelectElement, ByVal optionName As String)
    Dim opts
    Dim opt As HTMLOptionElement

    dropdown.Focus
    dropdown.setCapture
    Set opts = dropdown.children
    For i = 1 To opts.Length
        Set opt = opts.Item(i)
        If opt.Text = optionName Then
            opt.Selected = True
            dropdown.selectedIndex = opt.Index
            'Call hear javascript function.
            Exit For
        End If
    Next
    dropdown.releaseCapture
End Sub

暫無
暫無

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

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