2012-01-11 121 views
1

此代碼應該生成一個顯示隨機數的頁面。爲什麼它不起作用?使用Javascript動態顯示數字

<html> 
    <head> 
     <script type="text/javascript"> 
      window.onload = generateRandomNumber(); 
function generateRandomNumber() 
{ 
    var n = 25; 
    var number = Math.floor(Math.random()*n)+1; 
    document.getElementById("randomNumber").value = number; 
} 
</script> 
    </head> 
    <body> 
     <h1> 
      Random number generated = <h1 id="randomNumber"></h1> 
     </h1> 
    </body> 
</html> 
+0

檢查我的答案..更新根據您更新的問題。 – 2012-01-11 10:49:52

+0

上傳的快照供您參考..檢查出來 – 2012-01-11 11:37:30

回答

8

利用window.onload。試試這個

<head> 
    <script type="text/javascript"> 
     window.onload = function(){ 
      var n = 25; 
      var number = Math.floor(Math.random()*n)+1; 
      document.getElementById("randomNumber").innerHTML = number; 
     }; 
    </script> 
</head> 

小提琴:http://jsfiddle.net/yyAf8/

編輯按更新問題:

<head> 
    <script type="text/javascript"> 
    window.onload = generateRandomNumber; 
    function generateRandomNumber(){ 
     var n = 25; 
     var number = Math.floor(Math.random()*n)+1; 
     document.getElementById("randomNumber").innerHTML = number; 
     } 
    </script> 
</head> 

小提琴:按需http://jsfiddle.net/yyAf8/1/

上傳快照由OP:

enter image description here enter image description here

+0

當代碼放在html文件中時,它不起作用。你能展示整個代碼的樣子嗎? – 2012-01-11 10:58:07

+0

在答案中上傳了快照。 – 2012-01-11 11:23:46

+0

它不工作,因爲我是設置值而不是innerHTML。 – 2012-01-11 17:05:38

3

因爲在你的腳本中你使用了一個尚未定義的元素。將腳本放在元素後面。

演示:http://jsbin.com/upihez/2

+0

確定工作,但有沒有一種方法,我仍然可以保持javascript代碼在頭部?我可以使用onload來做到這一點嗎? – 2012-01-11 09:18:20

+0

是的,使用'window.onload'。 – 2012-01-11 09:21:06

+0

把它放在函數中 – ianace 2012-01-11 09:21:38