我真的不知道問題在這裏。據我所見,代碼很簡單,應該可以正常工作。無法獲得JavaScript來檢查空對象
var Prices="";
for (var PriceCount = 1; PriceCount <= 120; PriceCount++) {
var CurrentPrice = "Price" + PriceCount;
if (prevDoc.getElementById(CurrentPrice).value != null) {
if (Prices == "") {
Prices = prevDoc.getElementById(CurrentPrice).value;
} else {
Prices += "," + prevDoc.getElementById(CurrentPrice).value;
}
} else {
break;
}
}
表單上可能有多達120個隱藏輸入。當我們檢查一個不存在的輸入時,該循環應該中斷。我的測試頁有兩個輸入元素被拉。在第三(空)我得到這個錯誤在Firebug:
prevDoc.getElementById(CurrentPrice) is null
if (prevDoc.getElementById(CurrentPrice).value != null) {
是的,它是空......這就是檢查是什麼ಠ_ಠ
是否有任何人知道我在做什麼錯?這看起來應該是非常簡單的。
編輯: 爲清晰起見,prevDoc = window.opener.document
1)你確定'prevDoc'不是'null'? (你是否在代碼中設置了斷點並查看了監視窗口中的值,或者使用'console.log()'輸出了結果?2)你確定這些項目是否有'id =「...」 '而不是'name =「...」'? – Phrogz
是的,它不是空的。在我把這個頁面放在這個頁面之前,這個變量被用在了這個頁面上 – CountMurphy
當你執行'prevDoc.getElementById(CurrentPrice)'時,找不到'CurrentPrice'中的名字的元素,因此當你正試圖讀取它的價值。也可能是你不允許閱讀它。 – some