使用文本框计算数字

时间:2013-02-25 21:52:45

标签: javascript html variables

我一直在尝试使用用户在文本框中给出的数字来计算数字。我一直在尝试使用以下代码。但是当我尝试测试时,没有任何反应。有什么我想念的吗?有没有办法让印记变量全局化?

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

        }

谢谢, 崔西

4 个答案:

答案 0 :(得分:2)

您需要使用变量中引用的input element value属性:

… parseInt(imprint_quantity.value, 10);

对于任意HTML元素,您需要使用textContent(或innerText来支持旧IE):

document.getElementById('total_cost').textContent = …;

像你一样分配一个表达式应该抛出一个非常准确的异常,检查你的浏览器的错误控制台。

答案 1 :(得分:1)

在这一行中,您需要设置元素的innerHTML

document.getElementById('total_cost').innerHTML = "$" + imprint_total;

这基本上将<p></p>内的文字设为<p>$x.xx</p>

此行也应

imprint_quantity = document.getElementById('imprint_amount').value;

从文本框中检索值。

此外,在定义变量时,您写了“质量”。它应该是

imprint_quantity,

答案 2 :(得分:1)

将您的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/

答案 3 :(得分:0)

imprint_quantity = document.getElementById('imprint_amount');

=

imprint_quantity = document.getElementById('imprint_amount')。value();

Lemme知道是否能解决这个问题,这是一个常见的错误。