网页浏览器控件以下是对我一个导航的使用WebBrowser控件网页中的JavaScript函数。我有两个列表框和一个“添加”按钮之间。我选择左侧列表框中的多个项目并点击添加按钮,以便这些项目将被复制到右侧列表框中。下面显示了由Add按钮调用的JavaScript函数。HTML选项标签值属性返回“未定义”在IE9
问题:当我浏览WebBrowser控件上的页面(版本无所谓),我看到下面的问题:
selList.options[j].value returns “undefined” .
selList.options[j].text does return the correct text for the OPTION element.
所选选项的预期值应该是像“11187 | 1“(它只是查找OPTION html元素的value属性)。请注意,selList.options [j] .selected也会返回有效的“true”或“false”值。
这并不在IE 6,IE7或IE8发生。 这不会发生在IE 9浏览器中。 只有在使用IE9的机器上的Excel(VBA)内的表单上使用WebBrowser控件时,才会发生这种情况。 奇怪的是,这并没有使用在.NET应用程序& IE9浏览器控件时发生。 它似乎仅限于使用Excel中的控件。
////////////////////////////////////////////// ////
function getSelectionString(selList)
{
var aSelections = new Array();
var listLength = selList.options.length;
//alert("list Length "+listLength);
for(var j=0; j < listLength; j++)
{
if(selList.options[j].selected)
{
var sItem = selList.options[j].value; //sItem returns “undefined” !!!
aSelections.push(sItem);
}
}
return aSelections.join(",");
}
/////////////////// ////////////////////////
源选择标签的--SAMPLE选择列表 -
<select name=”srcList”>
<option value='44725|1'>1st Auto & Cas Ins Co (44725-P)</option>
<option value='10750|1'>1st Choice Auto Ins Co (10750-P)</option>
<option value='35700|1'>2 10 Home Buyers Warranty of VA (35700-P)</option>
<option value='11187|1'>2-10 Hbw of NV Inc (11187-P)</option>
</select>
你是如何** **调用的 “getSelectionString()” 函数? – Pointy
它被另一个JavaScript函数调用,在点击页面上的“添加”按钮时被调用。这个函数遍历所有的OPTION,看看哪些被选中,创建OPTION的value属性的一个','分离的字符串(比如“44725 | 1,11187 | 1”)并返回它。所有这些在IE浏览器上都能正常工作。但是,当我通过Excel VBA使用WebBrowser Control时,此函数将所选OPTION的value属性视为“undefined”,因此它只返回“”,“”。 – kumar