0

フォームの現在の入力に基づいて、HTML を動的に更新する方法を見つけました。ただし、フォームに値を表示するだけでなく、この値 (値 * 5) に対して計算を実行し、その結果を表示する方法に困惑しています。

これが実際の例です: https://dl.dropboxusercontent.com/u/14749627/happy2/number.html

これが私のJavaScriptです:

<script>
window.onload = function() {

var purchase_quantity = document.getElementById('purchase_quantity');
purchase_quantity.onclick = updateNameDisplay;
purchase_quantity.onclick = updateNameDisplay;
purchase_quantity.onclick = updateNameDisplay;
function updateNameDisplay() {
  document.getElementById('nameDisplay').innerHTML = this.value || "1";
 }
};
</script>
4

4 に答える 4

1

Campari のソリューションは機能しますが、良い習慣として明示的に Number に変換する必要があります。代わりにを追加しようとすると、期待どおりに動作しません。また、他の問題を指摘してくれた Oriol に感謝します。

var purchase_quantity = document.getElementById('purchase_quantity');
purchase_quantity.onclick = updateNameDisplay;

function updateNameDisplay() {
    document.getElementById('nameDisplay').innerHTML = 
        this.value.length ? Number(this.value) * 5 : "1";
}

デモ

于 2013-08-20T02:54:49.617 に答える
0

あなたの価値×5を得るには?ものすごく単純:

document.getElementById('nameDisplay').innerHTML = this.value * 5 || "1";
                                                   ^^^^^^^^^^^^^^

このフィドルをチェックしてください。

于 2013-08-20T02:49:50.520 に答える
0

あなたの言っていることが正しく理解できれば、要素データを変数として保存する必要があります。

var 結果 = this.value * 5; document.getElementById('nameDisplay').innerHTML = 結果;

あなたの質問を誤解した場合は、訂正してください。

于 2013-08-20T02:54:29.590 に答える