[英]Calculating a number using a textbox
我一直在尝试使用用户在文本框中给出的数字来计算数字。 我一直在尝试使用以下代码。 但是当我尝试测试时,没有任何反应。 有什么我想念的吗? 有没有办法让印记变量全局化?
<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;
}
谢谢,Traci
您将需要使用您在变量中引用的输入元素的value
属性:
… parseInt(imprint_quantity.value, 10);
对于任意HTML元素,您需要使用textContent
(或innerText
来支持旧IE):
document.getElementById('total_cost').textContent = …;
像你一样分配给表达式应该抛出一个非常准确的异常,检查浏览器的错误控制台。
在这一行中,您需要设置元素的innerHTML
。
document.getElementById('total_cost').innerHTML = "$" + imprint_total;
这基本上将<p></p>
内的文本设置为<p>$x.xx</p>
。
这条线也应该是
imprint_quantity = document.getElementById('imprint_amount').value;
它从文本框中检索值。
此外,在定义变量时,您写了“质量”。 它应该是
imprint_quantity,
将您的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>
在这里工作jsFiddle http://jsfiddle.net/Zt38S/2/
imprint_quantity = document.getElementById('imprint_amount');
=
imprint_quantity = document.getElementById('imprint_amount')。value();
Lemme知道是否修复了它,这是一个常见的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.