1

我一直在尝试使用用户在文本框中给出的数字来计算数字。我一直在尝试使用以下代码。但是当我尝试测试它时,什么也没有发生。有什么我想念的吗?有没有一种方法可以使 imprint 变量成为全局变量?

     <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

4 回答 4

2

您将希望使用您在变量中引用的输入元素value的属性:

… parseInt(imprint_quantity.value, 10);

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

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

像您所做的那样分配给表达式应该会引发一个非常准确的异常,请检查浏览器的错误控制台以查找它们。

于 2013-02-25T21:56:10.057 回答
1

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

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

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

而且这条线应该是

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

它从文本框中检索值。

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

imprint_quantity,
于 2013-02-25T21:56:11.057 回答
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/

于 2013-02-25T22:06:10.087 回答
0

imprint_quantity = document.getElementById('imprint_amount');

=

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

让我知道是否可以解决它,这是一个常见的错误。

于 2013-02-25T21:56:22.893 回答