如果我有45个按钮(数字)并且必须选择6个数字,我该如何使6个单击的按钮转到6个输入数字

时间:2019-04-10 21:08:30

标签: javascript html

如果我有45个按钮(数字),并且必须选择6个数字,那么如何使6个单击的按钮转到6个输入数字,即我对按钮的每次单击将其发送到输入类型编号

我单击了第一个按钮,然后执行了将输入id =“ chk1”调用到第一个收件箱innerHTML.value =“”的功能,但是如何使第二个单击的按钮转到第二个输入? / p>

                                                                                  

21    22

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Something</title>
    <link rel="stylesheet" href="index.css" />
</head>

<body>
    <div class="js-clock">
        <h1>00:00</h1>
    </div>

    <form class="js-form form">
        <input type="text" placeholder="What is your name?" />
    </form>

    <h4 class="js-greetings greetings"></h4>
    <script src="clock.js"></script>
    <script src="greetings.js"></script>
</body>

</html>

我希望单击任意按钮并将其发送到第一个空输入,然后第二次单击不同的按钮进入第二个空输入,依此类推。

1 个答案:

答案 0 :(得分:0)

假设您分别将myButtonsmyInputs作为按钮和输入的数组,则可以:

1)使用addEventListener将事件侦听器附加到每个按钮并检测点击;和

2)使用array.prototype.find查找您的第一个空输入并更新其值。

myButtons.forEach((button, i) =>
    button.addEventListener('click', () => {
      let firstEmptyInput = myInputs.find(input => !input.value);
      if (firstEmptyInput)
        firstEmptyInput.value = i;
    }));

[1] addEventListener https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

[2] findhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find`