2011-07-22 70 views
0

爲什麼surveyName的值不會改變?Javascript變量

<script type = 'text/javascript'> 
    surveyName = "catNull"; 
    function test(){ 
     window['surveyName'] = "catTest"; 
    } 
</script> 

</head> 
<body> 

    <input onclick = 'test()' id = 'cat' class = 'test' type = 'button' value = 'category' /> 

<script> 
document.write('<input id = "survey" class = "test" type = "button" value = "'+surveyName+'" />'); 
</script> 
+0

只有單擊按鈕後它纔會更改。 – Mrchief

+3

如果一個網頁中的變量發生變化,但是沒人看到它,它真的發生了變化嗎? – SLaks

+0

SLaks,你的意思是Shroedinger的貓的JavaScript版本? :) –

回答

0

因爲你不改變input對象的值,只有變量。

元素獨立於變量。 如果你想改變什麼瀏覽器顯示,你必須做到:

document.getElementById("...").value = window.surveyName; 
+0

啊...謝謝! –

+0

歡迎。在堆棧溢出中,您通過單擊向上箭頭說「謝謝」。或者BIG的綠色複選標記謝謝:) –

+0

我還不能,需要15聲望.. –

0

因爲你沒有輸入點擊呢。

1

它確實改變了。

但是,您從不觀察變化。

0

它的確如此。但是,您已經將該變量輸出到頁面,並且您輸出的輸出不會更改。

如果你想改變input的價值:

document.getElementById("survey").value = "new value"; 

這工作,因爲你已經分配的元素id價值"survey",這樣你就可以通過document.getElementById檢索元素傳遞在id,和使用元素的value property來設置值。