2015-09-09 49 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>