Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中将值从按钮传递到文本字段_Javascript_Getelementbyid - Fatal编程技术网

在JavaScript中将值从按钮传递到文本字段

在JavaScript中将值从按钮传递到文本字段,javascript,getelementbyid,Javascript,Getelementbyid,我试图在点击按钮时将数字传递给文本字段。用户点击“添加到购物车”并将2499添加到文本字段中已有的总数中 <form name="cart"> <input id="display" type="text" name="output" size="6" placeholder="0000"/> <button id="scart" value="Add to Cart" onclick="addCart()" +='2499'"/> <scri

我试图在点击按钮时将数字传递给文本字段。用户点击“添加到购物车”并将2499添加到文本字段中已有的总数中

<form name="cart">
    <input id="display" type="text" name="output" size="6" placeholder="0000"/>
<button id="scart" value="Add to Cart" onclick="addCart()" +='2499'"/>

<script type="text/javascript">

var total=""

function addCart(){
    document.getElementById('scart').value;
    total+= document.getElementById('display').value;
    console.log(total);
}

</script>


您有一些错误,您的报价不匹配,并且您没有关闭按钮标记。还有,为什么不在代码中添加2499

这个怎么样:

<form name="cart">
    <input id="display" type="text" name="output" size="6" placeholder="0000"/>
    <button id="scart" value="Add to Cart" onclick="addCart()" > 
    </button>

    <script type="text/javascript">

    var total=""

    function addCart(){
        document.getElementById('scart').value;
        total+= document.getElementById('display').value + 2499;
        console.log(total);
    }

    </script>
</form>

var total=“”
函数addCart(){
document.getElementById('scart')。值;
总计+=document.getElementById('display')。值+2499;
控制台日志(总计);
}

不清楚您想做什么,因此我在“购物车”按钮的开头添加了一个输入,其中输入的是您要添加到购物车中的数量

然后我打印出输入的数字,如果您多次按下按钮,则打印出总数


添加到购物车
var合计=0;
var display=document.querySelector(“#display”);
var scart=document.querySelector(“#scart”);
scart.addEventListener('click',function(){
var str=display.value;
var num=parseInt(str,10);
log('您输入的编号:',num);
如果(!isNaN(num)){
总数+=num;
}
log('总数现在是:',总数);
});

这里有很多错误:

首先,将
+
替换为一个良好的指示器
数据值
或任何东西

<button id="scart" value="Add to Cart" onclick="addCart()" data-value="2499"/>
最后是您的
addCart()
函数

function addCart() {
    // I see you are trying to get the value of the clicked button so you need to store it as this does not do anything
    // document.getElementById('scart').value;
    var value = document.getElementById('scart').value;
    // Add it to total var;, you need to parseInt it as .value returns string
    total += parseInt(value);
    // put it on display
    document.getElementById('display').value = total;
}

希望有帮助。

我想这就是你想要的。我为你做了一个密码笔:


添加到购物车
函数addCart(v){
document.getElementById('display')。值=v
控制台日志(v);
返回false;
}

我将数字传递给函数,并简单地使用它来更改输入的值。我还将它记录到控制台上

你到底想做什么?我试图在一个假商店网站上创建一个“添加到购物车”按钮。当点击按钮时,2499将被添加到总数中并显示。因此,当我点击按钮时,它会将2499添加到输入??目的是显示总数。ok cool@SonnyBonds请查看我的回答谢谢你(和所有其他人)的帮助。我有很多东西要学。我现在在一个JS课程中,下个月很可能要参加一个编码训练营。我正在尽我所能学习,但这很难,我们都经历过。你应该熟悉函数范围的概念。大多数流行的语言是“块范围的”,但JS是函数范围的。假设变量total可以从addCart()函数中访问,这就是它在块范围语言中的工作方式。一种方法是使用闭包。然而,纯函数更容易预测。这可能听起来像希腊语,但这些概念很快就会发挥作用。当这些概念变得有意义时,您就可以掌握JavaScript了。
function addCart() {
    // I see you are trying to get the value of the clicked button so you need to store it as this does not do anything
    // document.getElementById('scart').value;
    var value = document.getElementById('scart').value;
    // Add it to total var;, you need to parseInt it as .value returns string
    total += parseInt(value);
    // put it on display
    document.getElementById('display').value = total;
}
   <form name="cart">
        <input id="display" type="text" name="output" size="6" placeholder="0000"/>   
    </form>
    <button id="scart" onclick="addCart(2499)">Add To Cart</button>

<script>
    function addCart(v){
        document.getElementById('display').value = v
        console.log(v);
        return false;
    }
</script>