0

これが私の最後の質問であることを願っていますが、ここに行きます。

HTMLスクリプトがあります:

<input type="text" name="copy1" id="copy1" size="4" maxlength="10" onchange="calc1(this.value)">
<input type="text" name="copycosts" id="copycosts" size="4" VALUE="">
 <input name="copy2" type="text" id="copy2" size="4" maxlength="10" onchange="calc2(this.value)">

など....合計ボックスに合計されるように、それらをすべて追加したいと思います。私はそれぞれに異なる機能を持っているので、それらはすべてコストを取得し、うまく機能します。合計を機能させることができません。私はそれをjavascriptしてみました:

function sum(){
var cc = document.getElementById("copycosts").value;
var cc2 = document.getElementById("copycosts2").value;
var cc3 = document.getElementById("copycosts3").value;
var sc = document.getElementById("searchcosts").value;
var cc4 = document.getElementById("certcosts").value;
var nc = document.getElementById("naracosts").value;
var ac = document.getElementById("apostcosts").value;

var sum = parseFloat(cc + cc2 + cc3 + sc + cc4 + nc + ac);
document.getElementById("sum").value = sum;
}

私は何を間違っていますか?

再度、感謝します

4

1 に答える 1

0

HTML:

<input type="text" class="numInput" id="copy1" maxlength="10" />
<input type="text" class="numInput" id="copy2" maxlength="10" />
<input type="text" class="numInput" id="search" maxlength="10" />
<input type="text" class="numInput" id="nara" maxlength="10" />
Sum:
<input type="text" class="numOutput" id="sum" readonly="true" />

JavaScript:

var load = function () {
    'use strict';

    var inElems = document.getElementsByClassName('numInput'),
        sum = document.getElementById('sum'),
        i;

    var add = function () {
        var i, result = 0;

        for (i = 0; i < inElems.length; i++) {
            result += +(inElems.item(i).value);
        }

        sum.value = result;
    };

    for (i = 0; i < inElems.length; i++) {
        inElems.item(i).addEventListener('input', add, false);
    }
}

(function () {
    document.addEventListener('load', load, false);
})();

CSS:

.numInput {
    width: 60px;
}

.numOutput {
    width: 90px;
    readonly: true;
}

jsfiddle

注: この例では、従来のブラウザーと互換性がない可能性のある最新の JavaScript 手法を使用しています。

于 2013-10-04T18:38:52.807 に答える