简体   繁体   English

多个按钮将使用javascript中的一个功能将一个文本字段更改为该按钮的值

[英]Multiple buttons that will change the one text field to the value of that button using the one function in javascript

okay so i have 10 buttons that are displayed 0 through to 9. There is a text field below that will display " button 3 is clicked" or "button 0 is clicked" depending on what button has been clicked and so on. 好的,所以我有10个按钮,显示的是0到9。下面是一个文本字段,该文本字段将显示“单击了按钮3”或“单击了按钮0”,具体取决于所单击的按钮,依此类推。 However i have to achieve this with one function so my code looks a little something like this. 但是我必须用一个函数来实现,所以我的代码看起来像这样。

    <button onClick="changeNumber()">0</button>
    <button onClick="changeNumber()">1</button>
    <button onClick="changeNumber()">2</button>
    <button onClick="changeNumber()">3</button>
    <button onClick="changeNumber()">4</button>
    <button onClick="changeNumber()">5</button>
    <button onClick="changeNumber()">6</button>
    <button onClick="changeNumber()">7</button>
    <button onClick="changeNumber()">8</button>
    <button onClick="changeNumber()">9</button>
        <br/>
        <br/>
    <input type="text" id="garlicBread1" size="50%"> 

Im not sure how to make function changeNumber() 我不确定如何使函数changeNumber()

You can use something like this. 您可以使用类似这样的东西。 You can pass the reference of the element to the event handler and later use that to get the innerHTML 您可以将元素的引用传递给事件处理程序,然后使用它来获取innerHTML

 function changeNumber(elm) { document.getElementById('garlicBread1').value = 'button ' + elm.innerHTML + ' is clicked'; } 
 <button onClick="changeNumber(this)">0</button> <button onClick="changeNumber(this)">1</button> <button onClick="changeNumber(this)">2</button> <button onClick="changeNumber(this)">3</button> <button onClick="changeNumber(this)">4</button> <button onClick="changeNumber(this)">5</button> <button onClick="changeNumber(this)">6</button> <button onClick="changeNumber(this)">7</button> <button onClick="changeNumber(this)">8</button> <button onClick="changeNumber(this)">9</button> <br/> <br/> <input type="text" id="garlicBread1" size="50%"> 

You may like to use querySelectorAll and and attach event listener to the button instead of adding onclick to each & every button. 您可能想使用querySelectorAll并将事件侦听器附加到按钮,而不是将onclick添加到每个按钮。 Then use template literal to create the string and attach it to the value of the input 然后使用模板文字来创建字符串并将其附加到输入的值

 let getButtons = document.querySelectorAll('button').forEach((item) => { item.addEventListener('click', function(e) { let txt = e.target.textContent document.getElementById('garlicBread1').value = `button ${txt} is clicked` }) }) 
 <button>0</button> <button>1</button> <button>2</button> <button>3</button> <button>4</button> <button>5</button> <button>6</button> <button>7</button> <button>8</button> <button>9</button> <br/> <br/> <input type="text" id="garlicBread1" size="50%"> 

agree with dk, just use it like this 同意dk,就这样使用它

 <button onClick="changeNumber()">0</button>
    <button onClick="changeNumber(1)">1</button>
    <button onClick="changeNumber(2)">2</button>
    <button onClick="changeNumber(3)">3</button>
    <button onClick="changeNumber(4)">4</button>
    <button onClick="changeNumber(5)">5</button>
    <button onClick="changeNumber(6)">6</button>
    <button onClick="changeNumber(7)">7</button>
    <button onClick="changeNumber(8)">8</button>
    <button onClick="changeNumber(9)">9</button>
        <br/>
        <br/>
    <input type="text" id="garlicBread1" size="50%"> 

and in your function 而在你的职能

function changeNumber(number){
console.log(number);
}

Well, you can do something like this: 好吧,您可以执行以下操作:

 <button onClick="changeNumber(0)">0</button>
        <button onClick="changeNumber(1)">1</button>
        <button onClick="changeNumber(2)">2</button>
        <button onClick="changeNumber(3)">3</button>
        <button onClick="changeNumber(4)">4</button>
        <button onClick="changeNumber(5)">5</button>
        <button onClick="changeNumber(6)">6</button>
        <button onClick="changeNumber(7)">7</button>
        <button onClick="changeNumber(8)">8</button>
        <button onClick="changeNumber(9)">9</button>
            <br/>
            <br/>
        <input type="text" id="garlicBread1" size="50%"> 

    <script>
    function changeNumber(val){
     document.getElementById("garlicBread1").value =
        val + "clicked";
    }
    </script>

暂无
暂无

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

相关问题 如何用一个按钮更改多个按钮的文本值但值不同? - How to Change Many buttons text value with one button but different values? 如何获得一个 JavaScript function 以获取为多个按钮调用它的 html 按钮的值 - How to get one JavaScript function to get the value of the html button that called it for multiple buttons JavaScript-在DIV中选择文本时更改按钮的值(并将其组合为一个简单功能) - JavaScript - change value of button when text is selected within a DIV (and combine it in one simple function) javascript:如何将多个按钮的值打印到一个文本字段中(一个值接一个值)? - javascript: How to print values from several buttons into one single text field (one value after the other)? 单击按钮时,我想使用 Javascript 将文本字段的值增加一 - On button click I want to increment the value of text field by one using Javascript Javascript-使用按钮将文本从一个字段复制到另一个字段 - Javascript - copy text from one field to another using a button 多个JavaScript按钮简化为一个功能 - Multiple JavaScript Buttons Simplified Into One Function 一个来自多个html按钮的javascript函数 - One javascript function from multiple html buttons javascript,在按下按钮(多个按钮)时显示文本,但一次仅显示一个文本 - javascript, Display text when pusing button (multiple buttons) but only one text at the time 将一个 function 用于 javascript 中的多个 html 类(通过阅读更多按钮扩展文本) - Using one function for multiple html classes in javascript (expanding text via read more button)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM