到目前为止,每次刷新页面时,我都会从列表中获得一个随机词,但是我希望能够通过“显示”按钮在textbox中生成一个随机词。我怎么做?我想我应该用别的东西切换出document.write吗?我尝试使用onclick代替,但是没有用。



var words = [
  'Hello',
  'No',
  'Hi',
  'Banana',
  'Apple'
];

function randomWord(words) {
  return words[Math.floor(Math.random() * words.length)];
}

for (var x = 0; x < 1; x++)
  document.write(randomWord(words));

<form name="f1">
  <input type="text" value="" name="textbox" id="textbox" />
  <input type="button" value="show" onclick="randomWord()" />
  <br/>
</form>
<div id="new" />

最佳答案

这些是您需要遵循的几件事。


切勿使用document.write()
不要自行关闭<div />标签。
使用事件监听器。
正确使用作用域。在此处删除var
明智地使用参数。您不需要此处的参数,该参数使全局变量成为局部变量,并且也不需要传递值。


您不清楚在哪里显示这些单词。因此,我假设您想在<input />中显示它。



words = [
  'Hello',
  'No',
  'Hi',
  'Banana',
  'Apple'
];

function randomWord() {
  document.getElementById("textbox").value = words[Math.floor(Math.random() * words.length)];
}

* {font-family: 'Segoe UI';}

<form name="f1">
  <input type="text" value="" name="textbox" id="textbox" />
  <input type="button" value="show" onclick="randomWord()" />
  <br/>
</form>
<div id="new"></div>

10-06 11:47