網頁瀏覽器控件以下是對我一個導航的使用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