2012-11-18 69 views
1

我有這樣的代碼:如何在Javascript中初始化語句?

var StateTextBox = document.getElementById("State"); 
function InitializeVP() { 
    StateTextBox.value = "Test" 
} 

它找不到StateTextBox作爲變量...有誰知道爲什麼嗎?

當我做它像這樣:

function InitializeVP() { 
    document.getElementById("State").value = "Test" 
} 

它的工作原理。任何人都可以向我解釋我做錯了嗎?

+0

你的代碼工作得很好:http://jsfiddle.net/YWgvv/(只要你在DOM被加載後運行它)。我們需要更多的代碼纔可以告訴你什麼是錯的 – Sampson

回答

2

當你試圖設置StateTextBox變量?機會是,它試圖在頭部設置,在這種情況下,元素不會被設置。

嘗試把它剛剛閉幕</body>標記之前,它可能會在那裏工作(你可以在上面留下您的InitializeVP()功能。

更妙?使用jQuery與$(document).ready,和你幾乎保證你的變量將被初始化:

+0

是的,它的大學......我們不能使用任何東西,但JavaScript ......我的教授甚至沒有教。他在數學中擁有博士學位... – heinst

+1

@heinst這不是太糟糕;學習JavaScript要比開發對jQuery和類似工具的依賴要好得多。 – Sampson

0

您可能有錯誤順序的代碼。您所指的參考元素不存在....但。

+0

這裏提供的代碼的順序對結果沒有影響,給定範圍和提升。你可能是對的,但這段代碼是ra在存在DOM元素之前。 – Sampson