在JavaScript中将值从按钮传递到文本字段
我试图在点击按钮时将数字传递给文本字段。用户点击“添加到购物车”并将2499添加到文本字段中已有的总数中在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
<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>