【问题标题】:execute javascript function using VBA使用 VBA 执行 javascript 函数
【发布时间】:2019-09-29 03:34:39
【问题描述】:

我正在尝试使用 VBA 执行 javascript 函数,但没有成功。

我在列表框中选择了一个项目。

我的目标:选择项目后刷新结果。

VBA:

IEdoc_NEW2.getElementById("native_dropdown_selected_size_name").selectedIndex = 1
Call IEdoc_NEW2.parentWindow.execScript("dummySubmitButton()", "JavaScript")

HTML:

<select name="dropdown_selected_size_name" tabindex="-1" class="a-native-dropdown" id="native_dropdown_selected_size_name" autocomplete="off" data-a-touch-header="Taille">
  <option id="native_size_name_-1" value="-1" selected="" data-a-id="size_name_-1">Sélectionner</option>
  <option class="dropdownAvailable" id="native_size_name_0" value="0,B07DHJZSB3" data-a-id="size_name_0" data-a-html-content="S" data-a-css-class="dropdownAvailable">
    S </option>
  <option class="dropdownUnavailable" id="native_size_name_1" value="1,B07DHKZM7P" data-a-id="size_name_1" data-a-html-content="M" data-a-css-class="dropdownUnavailable">
    M
  </option>
  <option class="dropdownUnavailable" id="native_size_name_2" value="2,B07DHK697N" data-a-id="size_name_2" data-a-html-content="L" data-a-css-class="dropdownUnavailable">
    L
  </option>
</select>

JavaScript:

if (typeof(TwisterNonJs) == 'undefined') {
  window.TwisterNonJs = {};
  TwisterNonJs.handleDropDown = [];
}
TwisterNonJs.handleDropDown[1] = function() {
  var twisterUpdateButton = "submit.twisterUpdateButton_1"
  document.getElementById("dummySubmitButton").setAttribute("name", twisterUpdateButton);
  document.forms['twister'].submit();
};
document.getElementById("native_dropdown_selected_size_name").onchange = function() {
  TwisterNonJs.handleDropDown[1]();
};

但这不起作用。

【问题讨论】:

    标签: javascript html vba


    【解决方案1】:

    试试 onchange fireEvent

    IEdoc_NEW2.getElementById("native_dropdown_selected_size_name").FireEvent "onchange"
    

    你也可以尝试添加一个事件然后触发它

    Dim evt As Object
    Set evt = .document.createEvent("HTMLEvents")
    evt.initEvent "change", True, False
    
    IEdoc_NEW2.querySelector("#native_dropdown_selected_size_name").dispatchEvent evt
    

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      相关资源
      最近更新 更多