document.getElementsByName('name').value
返回undefined
。我不知道爲什麼會出現這種情況。Javascript無法訪問文檔:null或undefined
我正確包含了.js文件,Firebug在我的代碼中找不到任何錯誤,並且代碼在第一行或第二行中失敗,因爲每次我調用上述函數時,它都會返回undefined
。這讓我完全困惑。
這裏是我的文件包括:
<script type="text/javascript" src="new.js"></script>
這裏是所有到達一個函數調用返回的第一個未定義的值所需的代碼:
function myfunction() {
var myvar = document.getElementsByName('myElement').value;
...和我得到未定義的變量。我用它來觸發腳本的按鈕使用如下代碼:
<button type="button" onclick="myfunction()">MyButton</button>
- 我是否有效果按鈕的類型什麼樣的信息是提供給腳本?
- 如何找出爲什麼
document.getElementsByName()
返回undefined
? - Javascript
document
對象是否存在與從另一個文件導入的腳本有關的任何範圍問題?
對不起,如果這是一個愚蠢的問題。我對JavaScript很陌生。
編輯:謝謝麥克塞繆爾你的答案。這固定它像一個魅力,我想知道爲什麼我以前不知道這一點?我應該在租用猜測和getElementsByName()如何表示有多個返回的值一樣多的情況下...
'document.getElementByName'不是跨瀏覽器,所以是的,它可能會返回奇怪的值或根本沒有。這可能更容易分配一個ID或通過標籤名稱獲取元素。 – William
@Lime - 沒有「getElementByName」,你尋求的方法是* getElementsByName *,每個支持DOM 1的瀏覽器都有它(自Navigator 2以來幾乎每個瀏覽器都有)。 – RobG
@RobG拼寫錯誤=)無論如何,IE 9仍然沒有得到'getElementsByName' [correct](http://www.quirksmode.org/dom/w3c_core.html#t125)。我絕對不會把這個古怪的行爲稱爲跨瀏覽器。如果沒有'document.getElementsByName(「myElement」)'的更多上下文,他可能會遇到瀏覽器錯誤。 – William