首页 > 解决方案 > 如何使用 Wolfram 语言中的 JavaScript 在下拉列表中选择一个值?

问题描述

我在网页上有以下 HTML。

<li class="draw-tool-li" id="tool-select-page" style="display: list-item;">
    <select id="select-page" class="tooltip tooltipstered">
        <option value="0">Page 1</option>
        <option value="1">Page 2</option>
        <option value="2">Page 3</option>
        <option value="3">Page 4</option>
        <option value="4">Page 5</option>
        <option value="5">Page 6</option>
        <option value="6">Page 7</option>
        <option value="7">Page 8</option>
        <option value="8">Page 9</option>
        <option value="9">Page 10</option>
        <option value="10">Page 11</option>
        <option value="11">Page 12</option>
        <option value="12">Page 13</option>
        <option value="13">Page 14</option>
        <option value="14">Page 15</option>
        <option value="15">Page 16</option>
        <option value="16">Page 17</option>
        <option value="17">Page 18</option>
        <option value="18">Page 19</option>
        <option value="19">Page 20</option>
        <option value="20">Page 21</option>
        <option value="21">Page 22</option>
        <option value="22">Page 23</option>
        <option value="23">Page 24</option>
        <option value="24">Page 25</option>
        <option value="25">Page 26</option>
        <option value="26">Page 27</option>
        <option value="27">Page 28</option>
    </select>
</li>

它代表一个下拉列表,用于选择要转到的页面。

我正在尝试以编程方式访问特定页面。因此,例如,当我想转到第 12 页时,我正在尝试以下操作:

WebExecute[
    "JavascriptExecute"->"return document.getElementById('select-page').selectedIndex = 12;"
]

但它给了我以下错误:

Failure["InvalidInput", 
Association[
 "MessageTemplate" -> "`command` failed.", 
  "MessageParameters" -> Association[
   "command" -> "JavascriptExecute"], 
  "Element" -> "return \
document.getElementById('select-page').selectedIndex = 12;"]]

我究竟做错了什么?

整个页面也位于 iframe 内的#document 中:

<iframe id="whiteboard-frame" scrolling="no" seamless="seamless" allowfullscreen="true" style="overflow-y: hidden; border-width:0px; width:100%; height: 100%; padding:0px; margin:0px;" src="...">
   #document
   ....
</iframe>

因此,从下拉列表中更改页面不会更改浏览器中的 URL。

在 iframe 中访问 #document 中的元素的正确方法是什么。如何更改 javascript 以引用它?

标签: javascriptiframewolfram-mathematicawolfram-language

解决方案


推荐阅读