到目前为止,每次刷新页面时,我都会从列表中获得一个随机词,但是我希望能够通过“显示”按钮在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>