2013-02-18 106 views
0

我需要創建一個框,以便當用戶輸入一個值到6時,它會滾動那麼多骰子。我是一個完整的初學者的JavaScript和任何幫助將不勝感激。從文本框中檢索輸入值

這裏是我的功能:

function NumberValue() { 
     for (i = 0; i <['randNumber']; i++){ 
      var numberRoll = Math.floor(Math.random() * 6) + 1; 
      var userNumber = '../images/die' + numberRoll + '.gif'; 
      myNewTag = "<img id='dieImgRandom' src='" + userNumber + "'>" 
      document.getElementById('dieDivRandom').innerHTML += myNewTag; 

這裏是我的身體元素:

<h1>Why don't you pick please?</h1> 

<div id="dieDivRandom" style="text-align:center"> 

<p> 

<div id="dieImageRand"> 

<img id="dieImgRandom" alt="die image" src="../images/die1.gif"> 

<br> 

<input type="text" id="randNumber" size=20 value="Enter 1 through 6"> 

<input type="button" value="Click to Roll" onclick="NumberValue();"> 

</div> 

功能需要允許用戶提交一個,兩個,三個,四個,五個數,或六個,並且需要在屏幕上顯示許多圖像。圖像重新放置在我的圖像文件夾中,所以相對鏈接將工作得很好。這實際上是我需要使用的。謝謝。

+0

'的document.getElementById(「randNumber」)。value' – 2013-02-18 04:39:01

回答

0

替換:

for (i = 0; i <['randNumber']; i++){ 

隨着:

  1. document.getElementById('inputId').value;
  2. for (i = 0; i <document.getElementById('randNumber').value; i++) { 
    

    <input />標籤可以通過使用以下的任一訪問

  3. document.formName.inputName.value

最後,你的代碼就變成了:

function NumberValue() { 
    for (i = 0; i < document.getElementById('inputId').value; i++) { 
     var numberRoll = Math.floor(Math.random() * 6) + 1; 
     var userNumber = '../images/die' + numberRoll + '.gif'; 
     myNewTag = "<img id='dieImgRandom' src='" + userNumber + "'>" 
     document.getElementById('dieDivRandom').innerHTML += myNewTag; 
    } 
} 
+0

大,但現在無論是滾你把數量只有一個死。我嘗試了所有1,2,3,4,5,6,它只擲一個模子。任何想法如何使它進入,例如,5它滾動5死? – 2013-02-18 05:28:09

+0

我不明白你的意思!像什麼? – 2013-02-18 06:44:09

0

使用此功能可以從文本框讀取值

function NumberValue() {  
var ranNum = document.getElementById('randNumber').value; 

     for (i = 0; i <ranNum ; i++){ 

     } 

} 

編輯:

如果您想驗證輸入的nu MBER

添加的代碼塊

function NumberValue() {  
var ranNum = document.getElementById('randNumber').value; 
     if(ranNum < 1 || ranNum > 6) { 
      alert("Please enter number from 1 to 6 only"); 
      return false; 
      } 

     for (i = 0; i <ranNum ; i++){ 

     } 

     return true; 

} 
+0

好吧,現在它可以工作,但我需要限制它,以便用戶只能放入1到6.任何想法? – 2013-02-18 05:31:11

+0

在我的編輯中看到我的編輯 – NPKR 2013-02-18 05:36:22

+0

謝謝!這非常有幫助!它現在很好用! – 2013-02-18 06:10:18