2015-09-09 68 views
1

JavaScript非常新,並有少量的麻煩。我的任務是點擊一個按鈕,它會產生一個1-20之間的數字。一切工作正常,減去從函數輸出放置在文本框外的事實。關於如何將輸出到文本框中的任何建議都會很棒!範圍編號發生器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<html> 
<script type="text/javascript"> 
    function getRNG(min, max) { 
    return function() { 
    return Math.floor(Math.random() * (max - min + 1) + min); 
    } 
    } 
    d20 = getRNG(1, 20); 
    function rollD20() { 
    document.getElementById("output").innerHTML = d20(); 
    } 
</script> 
<body> 
<input type="text" disabled="disabled" size="2" id="txtNumber" /> 
<div id="output"></div> 
<button onclick="rollD20()">Roll</button> 
</body> 
</html> 
+0

再看一點,我試圖創建一個提醒。 (Math.random()*(max-min + 1)+ min);函數getRNG(min,max){ 返回Math.floor(Math.random() } function rollD20(){ document.getElementById(「txtNumber」)。value = getRNG(1,20); } \t if(txtNumber <10){ \t alert(「Failure」); \t} \t else { \t alert(「Success」); \t} – rworthy7

回答

1

你期待值被放置在文本框中輸入#txtNumber
而是你所定位的DIV #output

使用內部:

<script> 
 
    function getRNG(min, max) { 
 
    return Math.floor(Math.random() * (max - min + 1) + min); 
 
    } 
 
    function rollD20() { 
 
    document.getElementById("txtNumber").value = getRNG(1, 20); 
 
    } 
 
</script> 
 

 
<body> 
 
    <input type="text" disabled="disabled" size="2" id="txtNumber" /> 
 
    <div id="output"></div> 
 
    <button onclick="rollD20();">Roll</button> 
 
</body>

+0

非常感謝您的幫助,這個東西有時會非常令人沮喪! – rworthy7

+0

不客氣。是有時候取決於咖啡因:) –

0

我定你的代碼,嘗試使用此:

<script> 
    function getRNG(min, max) { 
     return Math.floor(Math.random() * (max - min + 1) + min); 
    } 

    function rollD20() { 
     document.getElementById("output").innerHTML = getRNG(1, 20); 
    } 
</script> 
0

你有1個問題,問題是你要設置的div innerHTML值(這是第一0像素寬度),當你把你的內容在它擴展以適應它的內容。

你想要做的事情是分配txtNumber的價值這樣

function rollD20() { 
     document.getElementById("txtNumber").value = d20(); 
} 

另一個節點將無法返回,返回值的函數離開變化和清潔碼了一點(把該rollD20函數內的函數調用)

function getRNG(min, max) { 
    return Math.floor(Math.random() * (max - min + 1) + min); 
} 

function rollD20() { 
     document.getElementById("txtNumber").value = getRNG(1, 20); 
} 

,這些足以成爲一個片斷

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 

 
<html> 
 
    <script type="text/javascript"> 
 
     function getRNG(min, max) { 
 
      return Math.floor(Math.random() * (max - min + 1) + min); 
 
     } 
 

 
     function rollD20() { 
 
      document.getElementById("txtNumber").value = getRNG(1, 20); 
 
     } 
 
    </script> 
 
    <body> 
 
     <input type="text" disabled="disabled" size="2" id="txtNumber" /> 
 
     <div id="output"></div> 
 
     <button onclick="rollD20()">Roll</button> 
 
    </body> 
 
</html>