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

时间:2017-09-13 00:19:24

标签: 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'"/>

<script type="text/javascript">

var total=""

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

</script>

学习时,我觉得我理解逻辑,但不知道语法。

4 个答案:

答案 0 :(得分:0)

您有一些错误,您的报价不匹配,并且您没有关闭按钮标记。另外,为什么不在代码中添加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>

答案 1 :(得分:0)

我们不清楚你要做什么,所以我开始了一个&#34; cart&#34;按钮,其中输入是您要添加到购物车的数量。

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

&#13;
&#13;
<input id="display" type="text" name="output" size="6" placeholder="0000" />
<button id="scart" type="button">Add to cart</button>

<script type="text/javascript">
  var total = 0;
  var display = document.querySelector('#display');
  var scart = document.querySelector('#scart');

  scart.addEventListener('click', function() {
    var str = display.value;
    var num = parseInt(str, 10);
    console.log('You entered the number: ', num);
    if (!isNaN(num)) {
      total += num;
    }
    console.log('The total is now: ', total);
  });
</script>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

这里有很多错误:

首先,将+替换为良好指标data-value或其他

<button id="scart" value="Add to Cart" onclick="addCart()" data-value="2499"/>

其次,在您的脚本中,您应该var total number而不是string

var total = 0;

最后,您的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;
}

希望有所帮助。

答案 3 :(得分:0)

我认为这就是你想要的。我为你做了一个代码:https://codepen.io/NeilGBK/pen/boGadz?editors=1111

   <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>

我将数字传递给函数,只是使用它来更改输入的值。我也将它记录到控制台