【问题标题】:How to put a response in an html form with javascript array and a button to get the response in the form field如何使用 javascript 数组和按钮将响应放入 html 表单中以在表单字段中获取响应
【发布时间】:2019-05-10 18:36:47
【问题描述】:

我有一个 js 数组,我想在按下按钮(命名歌曲)时将一首随机歌曲记录到 HTML 表单中。我可以将它登录到控制台,但我不知道如何使用 document.getElementById (我是 JS 新手,所以请多多包涵)。感谢您的帮助。

JavaScript:

var i = Math.floor(Math.random() * 10) + 1;
function randSong() {
var listOfSongs = ['Killomanjaro','No Sad No Bad','Doomsday','Solitaire',
'Distance','Roll In Peace','Bank Account','SAD!','Moonlight','Swimming Pools'];
console.log('Alexa, play',listOfSongs[i]);
}
randSong();

HTML:

<form>
      Random Song:<input type="text" id="RandSong" name="song"/>
      <input type="button" value="Song" onclick="randSong()"/>
    </form>

【问题讨论】:

  • 如果我理解你的问题。你想把歌曲的名字放到你的文本框中吗? document.getElementById('RandSong').value = listOfSongs[i];
  • 如果你想在每次点击按钮时随机选择一首歌曲,你的var i应该在randSong()函数里面。

标签: javascript html arrays forms


【解决方案1】:
var i = Math.floor(Math.random() * 10);
function randSong() {
var listOfSongs = ['Killomanjaro','No Sad No Bad','Doomsday','Solitaire',
'Distance','Roll In Peace','Bank Account','SAD!','Moonlight','Swimming Pools'];
console.log('Alexa, play',listOfSongs[i]);
document.getElementById('RandSong').value = listOfSongs[i];
}
randSong();

应该这样做。此外,在设置 i 的值时去掉 +1。 Math.random 将返回 0 到 1 之间。数组从 0 开始,因此您编写它的方式可能会导致 10 超出范围。

【讨论】:

    猜你喜欢
    • 2013-10-13
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2019-03-08
    • 1970-01-01
    相关资源
    最近更新 更多