Javascript 如何使用`document.getElementByID(";results";).innerHTML=results打印?

Javascript 如何使用`document.getElementByID(";results";).innerHTML=results打印?,javascript,onclick,innerhtml,dice,Javascript,Onclick,Innerhtml,Dice,当我点击滚动按钮时,什么也没发生。是否有一种方法可以使用document.getElementByID(“结果”).innerHTML显示结果,或者不建议这样做 HTML <p>How many dice? <br/> <input type="text" id="numDice" /> </p> <p>How many sides per die? <br/> <input type=

当我点击滚动按钮时,什么也没发生。是否有一种方法可以使用
document.getElementByID(“结果”).innerHTML
显示结果,或者不建议这样做

HTML

<p>How many dice?
    <br/>
    <input type="text" id="numDice" />
</p>
<p>How many sides per die?
    <br/>
    <input type="text" id="numSides" />
</p>
<button onclick="diceRoll()" id="roll"/>Roll!</button>
<p id="results"></p>
多少骰子?

每个模具有多少面?

滚!

JavaScript

var numDice = document.getElementByID(numDice).innerHTML;
var numSides = document.getElementByID(numSides).innerHTML;

function diceRoll() {
  var results = "";

  for (var i = 0; i < numDice; i++) {
    results += (Math.random() * numSides) + 1;
  }

  document.getElementByID("results").innerHTML = results;
}
var numDice=document.getElementByID(numDice.innerHTML;
var numSides=document.getElementByID(numSides.innerHTML;
函数dicerll(){
var结果=”;
对于(变量i=0;i

打字错误,不是

getElementByID
但是

大小写很重要,传递的参数是字符串,因此应该引用它们

function diceRoll() {
    var numDice = document.getElementById('numDice').value;
    var numSides = document.getElementById('numSides').value;
    var results = "";

    for (var i = 0; i < numDice; i++) {
        results += (Math.round(results + (Math.random() * numSides) + 1)).toString();
    }

    document.getElementById('results').innerHTML = results;
}
函数dicerll(){
var numDice=document.getElementById('numDice').value;
var numSides=document.getElementById('numSides').value;
var结果=”;
对于(变量i=0;i

打字错误,不是

getElementByID
但是

大小写很重要,传递的参数是字符串,因此应该引用它们

function diceRoll() {
    var numDice = document.getElementById('numDice').value;
    var numSides = document.getElementById('numSides').value;
    var results = "";

    for (var i = 0; i < numDice; i++) {
        results += (Math.round(results + (Math.random() * numSides) + 1)).toString();
    }

    document.getElementById('results').innerHTML = results;
}
函数dicerll(){
var numDice=document.getElementById('numDice').value;
var numSides=document.getElementById('numSides').value;
var结果=”;
对于(变量i=0;i

在DOM准备就绪之前,您正在调用
document.getElementByID(numDice).innerHTML
。元素不存在,因此这将引发错误

您希望在每次调用
diceRoll()
时获取值,以便获取用户输入的值<代码>数值
在值更改时不会自动更新

另外,它是
getElementById
,您希望对
S使用
.value()

function diceRoll() {
  var results = "";
  var numDice = parseInt(document.getElementById('numDice').value, 10);
  var numSides = parseInt(document.getElementById('numSides').value, 10);

  for (var i = 0; i < numDice; i++) {
    results += (Math.random() * numSides) + 1;
  }

  document.getElementById("results").innerHTML = results;
}
函数dicerll(){
var结果=”;
var numDice=parseInt(document.getElementById('numDice')。值,10);
var numSides=parseInt(document.getElementById('numSides')。值,10);
对于(变量i=0;i
在DOM准备就绪之前,您正在调用
document.getElementByID(numDice).innerHTML
。元素不存在,因此这将引发错误

您希望在每次调用
diceRoll()
时获取值,以便获取用户输入的值<代码>数值
在值更改时不会自动更新

另外,它是
getElementById
,您希望对
S使用
.value()

function diceRoll() {
  var results = "";
  var numDice = parseInt(document.getElementById('numDice').value, 10);
  var numSides = parseInt(document.getElementById('numSides').value, 10);

  for (var i = 0; i < numDice; i++) {
    results += (Math.random() * numSides) + 1;
  }

  document.getElementById("results").innerHTML = results;
}
函数dicerll(){
var结果=”;
var numDice=parseInt(document.getElementById('numDice')。值,10);
var numSides=parseInt(document.getElementById('numSides')。值,10);
对于(变量i=0;i
这个问题似乎离题了,因为它是关于打字错误的,而不是
var numDice=document.getElementByID(numDice).innerHTML
be
var numDice=document.getElementByID(numDice).value?这个问题似乎离题了,因为它是关于一个打字错误,而不是
var numDice=document.getElementByID(numDice).innerHTML
be
var numDice=document.getElementByID(numDice).value?我们不想要值而不是innerHTML吗?@j08691-是的,我们想要->我想以数字字符串的形式打印。我该怎么办?我在这里做错了什么:
results+=toString(Math.floor(Math.random()*numSides+1))+“”@JohnD.-哦,toString在后面,请看更新后的答案。我们不想要值而不是innerHTML吗?@j08691-是的,我们想要->我想要以数字字符串的形式打印。我该怎么办?我在这里做错了什么:
results+=toString(Math.floor(Math.random()*numSides+1))+“”@JohnD.-哦,toString在后面,请查看更新的答案。