简体   繁体   English

我如何制作带有 0-9 数字的按钮,当我按下它们时添加到文本框中

[英]how can i make buttons with numbers from 0-9 that adds into a textbox when i press them

I want to make a "numeric keyboard" that shows buttons with symbols from 0-9.我想制作一个“数字键盘”,显示带有 0-9 符号的按钮。 When I press each button it is suppose to add up.当我按下每个按钮时,它应该加起来。 So lets say i press 3, 4 then 1 it should say 341 on the text box or number box idk (srry im new).所以假设我按 3、4 然后 1 它应该在文本框或数字框 idk 上显示 341(srry 我是新的)。

I have only taken some examples from my teacher so i dont know if this is the right method.我只是从我的老师那里拿了一些例子,所以我不知道这是否是正确的方法。

I tried this on button 0:我在按钮 0 上试过这个:

    <button onclick="showZero()">0</button>
    <button onclick="">1</button>
    <button onclick="">2</button>
    <button onclick="">3</button>
    <button onclick="">4</button>
    <button onclick="">5</button>
    <button onclick="">6</button>
    <button onclick="">7</button>
    <button onclick="">8</button>
    <button onclick="">9</button>

    <br>

    <input type="text" id="txtZero">
window.onload = start;
 function start() {}

 function showZero()
 {
     var zero = document.getElementById("Number");

        zero.Value="0";

            document.querySelector("txtZero").appendChild(zero);
 }

Am i using wrong method?我使用了错误的方法吗? I saw my teacher example, but he was using this to generate more buttons and not numbers like im trying to do.我看到了我的老师的例子,但他正在使用它来生成更多按钮,而不是像我试图做的那样生成数字。

EDIT: I edited my answer to provide a better answer that doesn't use inline event handling.编辑:我编辑了我的答案以提供一个不使用内联事件处理的更好的答案。 I also wrapped the code into DOMContentLoaded event listener to make sure JS runs after the DOM is fully loaded.我还将代码包装到DOMContentLoaded事件侦听器中,以确保 JS 在 DOM 完全加载后运行。

 function ready() { // The textfield element textField = document.getElementById("field") // The reset button resetButton = document.getElementById("resetbtn") // Get all the buttons to an Array buttons = document.getElementsByClassName("btn") // Add click event listener to all button elements and insert their inner text as value to the text field Array.prototype.forEach.call (buttons, (button) => { button.addEventListener("click", () => { textField.value += button.innerText }) }) // Add click event listener to reset button resetButton.addEventListener("click", () => { textField.value = null }) } document.addEventListener("DOMContentLoaded", ready);
 input, button { padding: 3px 6px; margin: 3px; }
 <button class="btn">0</button> <button class="btn">1</button> <button class="btn">2</button> <button class="btn">3</button> <button class="btn">4</button> <button class="btn">5</button> <button class="btn">6</button> <button class="btn">7</button> <button class="btn">8</button> <button class="btn">9</button> <br> <input type="text" id="field"><button id="resetbtn">Reset</button>

Follow the code to it:按照代码进行操作:

  • Add function setNumber to set number in field text.添加 function setNumber 以设置字段文本中的数字。
  • Change function showZero to resetNumber if contains the value in field text insert zero.如果包含字段文本中的值插入零,则将 function showZero 更改为 resetNumber。

 function resetNumber() { document.getElementById("field").value = '0'; } function setNumber(number) { document.getElementById("field").value = document.getElementById("field").value === '0'? '': document.getElementById("field").value += number; }
 <html> <body> <button onclick="resetNumber()">Reset</button> <button onclick="setNumber(0)">0</button> <button onclick="setNumber(1)">1</button> <button onclick="setNumber(2)">2</button> <button onclick="setNumber(3)">3</button> <button onclick="setNumber(4)">4</button> <button onclick="setNumber(5)">5</button> <button onclick="setNumber(6)">6</button> <button onclick="setNumber(7)">7</button> <button onclick="setNumber(8)">8</button> <button onclick="setNumber(9)">9</button> <br /> <input type="text" id="field" /> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使它只有数字 0-9 可以输入到 JavaScript 中的提示 window 中? - How do I make it so only numbers 0-9 can be entered into prompt window in JavaScript? 当我按下按钮时,我的按钮会下降 - My buttons go down when I press them 在单选按钮组中,如何使其中两个启用一个文本框,而其中一个禁用/只读该文本框 - In radio button group, how can I make 2 of them enable a textbox and one of them disable/readonly the textbox 如果我有45个按钮(数字)并且必须选择6个数字,我该如何使6个单击的按钮转到6个输入数字 - If I have 45 buttons (numbers) and I have to choose 6 numbers, how can I make my 6 clicked buttons go to my 6 inputs numbers 如何制作一个从今天开始计算天数并在按下按钮时重新启动计数器的代码? - How can I make a code that counts the days from today and restart the counter when I press a button? 当我在特定文本框中按 Enter 时,如何使文本框一次更改一种背景颜色(当有多个文本框时)? - How to make textbox change background color one at a time (when there are multiple textboxes) when I press enter in particular textbox? 我怎样才能让 JavaScript 按下键盘上的键而不按它们? js - How can I make JavaScript press keys on the keyboard without me pressing them? js 按空格键时如何禁用用户文本框中的退格键? - How to disable the backspace key in user textbox when i press spacebar? 如何制作一个只包含两个按钮和一个文本框的简单屏幕HTML键盘? - How can I make a simple on-screen HTML keyboard that contains only two buttons and one textbox? 单击按钮时如何使div不消失 - How can I make div not disappear when buttons are clicked
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM