我试图在点击按钮时将数字传递给文本字段。用户点击"添加到购物车"并且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>
学习时,我觉得我理解逻辑,但不知道语法。
答案 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;按钮,其中输入是您要添加到购物车的数量。
然后,如果您多次按下按钮,我会打印输入的数字和总数。
<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;
答案 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>
我将数字传递给函数,只是使用它来更改输入的值。我也将它记录到控制台