Javascript 使用文本框计算数字
我一直在尝试使用用户在文本框中给出的数字来计算一个数字。我一直在尝试使用以下代码。但是当我尝试测试它时,什么都没有发生。有什么我遗漏的吗?有没有一种方法可以使imprint变量成为全局变量Javascript 使用文本框计算数字,javascript,html,variables,Javascript,Html,Variables,我一直在尝试使用用户在文本框中给出的数字来计算一个数字。我一直在尝试使用以下代码。但是当我尝试测试它时,什么都没有发生。有什么我遗漏的吗?有没有一种方法可以使imprint变量成为全局变量 <form> <p>How many products do you want ingraved?<input id="imprint_amount" name="imprint_amount" type="text"/>
<form>
<p>How many products do you want
ingraved?<input id="imprint_amount" name="imprint_amount" type="text"/>
</p>
<p>Names to be Imprinted(one per
line)<TEXTAREA COLS=25 NAME="imprint_text" ROWS=5 WRAP=HARD style="resize:none;"></textarea>
</p>
<input onclick="imprint_price" type="button" value="Finish"/>
<p id="total_cost"></p>
</form>
<script type="text/javascript">
function imprint_price() {
var imprint_cost,
imprint_quality,
imprint_total;
imprint_cost = 10.99;
imprint_quantity = document.getElementById('imprint_amount');
imprint_total = $imprint_cost * parseInt(imprint_quantity, 10);
document.getElementById('total_cost') = "$" + imprint_total;
}
你想要多少产品
根深蒂固的?
要压印的姓名(每人一个)
(行)
函数压印价格(){
var印记成本,
压印质量,
总印迹;
压印成本=10.99;
印记数量=document.getElementById(“印记数量”);
印记_总数=$印记_成本*parseInt(印记_数量,10);
document.getElementById('total_cost')=“$”+print_total;
}
谢谢,
Traci您需要使用变量中引用的
值的属性:
… parseInt(imprint_quantity.value, 10);
对于任意HTML元素,您需要使用(或innerText
来支持旧IE):
如果按原样分配给表达式,则会引发一个相当准确的异常,请检查浏览器的错误控制台以了解这些异常。您将希望使用变量中引用的值属性:
… parseInt(imprint_quantity.value, 10);
对于任意HTML元素,您需要使用(或innerText
来支持旧IE):
按照您的方式分配给表达式应该会引发一个非常准确的异常,请检查浏览器的错误控制台以了解它们。在这一行中,您需要设置元素的innerHTML
document.getElementById('total_cost').innerHTML = "$" + imprint_total;
这基本上将
中的文本设置为$x.xx
这条线也应该是
imprint_quantity = document.getElementById('imprint_amount').value;
它从文本框中检索值
此外,在定义变量时,您编写了“质量”。应该是
imprint_quantity,
在这一行中,您需要设置元素的innerHTML
document.getElementById('total_cost').innerHTML = "$" + imprint_total;
这基本上将
中的文本设置为$x.xx
这条线也应该是
imprint_quantity = document.getElementById('imprint_amount').value;
它从文本框中检索值
此外,在定义变量时,您编写了“质量”。应该是
imprint_quantity,
印记数量=document.getElementById(“印记数量”)
=
imprint_quantity=document.getElementById('imprint_amount').value()
让我知道这是否解决了这个问题,这是一个很常见的错误。print\u quantity=document.getElementById('print\u amount')
=
imprint_quantity=document.getElementById('imprint_amount').value()
让我知道这是否解决了一个常见的错误。将您的javascript更改为:
<script type="text/javascript">
function imprint_price() {
var imprint_cost,
imprint_quantity,
imprint_total;
imprint_cost = 10.99;
imprint_quantity = document.getElementById('imprint_amount').value;
imprint_total = imprint_cost * parseInt(imprint_quantity, 10);
document.getElementById('total_cost').innerHTML = imprint_total;
}
</script>
函数压印价格(){
var印记成本,
压印数量,
总印迹;
压印成本=10.99;
imprint_quantity=document.getElementById('imprint_amount')。值;
压印总数=压印成本*parseInt(压印数量,10);
document.getElementById('total_cost')。innerHTML=inprint_total;
}
在这里使用JSFIDLE将您的javascript更改为:
<script type="text/javascript">
function imprint_price() {
var imprint_cost,
imprint_quantity,
imprint_total;
imprint_cost = 10.99;
imprint_quantity = document.getElementById('imprint_amount').value;
imprint_total = imprint_cost * parseInt(imprint_quantity, 10);
document.getElementById('total_cost').innerHTML = imprint_total;
}
</script>
函数压印价格(){
var印记成本,
压印数量,
总印迹;
压印成本=10.99;
imprint_quantity=document.getElementById('imprint_amount')。值;
压印总数=压印成本*parseInt(压印数量,10);
document.getElementById('total_cost')。innerHTML=inprint_total;
}
在这里使用JSFIDLEprint\u数量应该是print\u text for start…你有javascript错误吗?print\u数量应该是print\u text for start…你有javascript错误吗?我不相信这会起作用。总成本不是一个文本框,而是一个段落。编辑:nvm,您将.value
更改为.textContent
我认为这行不通。总成本不是一个文本框,而是一个段落。编辑:nvm,您将.value
更改为.textContent
谢谢,我完全错过了质量/数量输入。谢谢,我完全错过了质量/数量输入。