1

ユーザーがテキストボックスで指定した数値を使用して数値を計算しようとしています。次のコードを使用しようとしています。しかし、テストしようとしても、何も起こりません。足りないものはありますか?そして、インプリント変数をグローバルにする方法はありますか?

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

Lemmeは、それで問題が解決するかどうかを知っています。これはよくある間違いです。

于 2013-02-25T21:56:22.893 に答える