以下は Jfiddle で機能しますが、元の形式で使用すると、total_full フィールドと total_half フィールドが他のフィールドから自動的に計算されるため、keyup または keydown イベントが発生しませんか? したがって、「total_full」フィールドと total_half フィールドが更新されると、「sub_total」フィールドは計算されませんか?
HTML
<td>Total Cost Full Day</td>
<input type="text" name="total_full" id="total_full" />
<td> </td>
<td> </td>
<td>Total Cost Half Day</td>
<input type="text" name="total_half" id="total_half" />
<td> </td>
<td> </td>
ジャバスクリプト
//Calculate Sub Total
function calculateSubTotal() {
var SubTotal = +document.getElementById("total_full").value + +document.getElementById("total_half").value + +document.getElementById("add_on").value;
document.getElementById("sub_total").value = isNaN(SubTotal) ? 0 : SubTotal;
}
document.getElementById("add_on").onchange = calculateSubTotal;
document.getElementById("add_on").onkeyup = calculateSubTotal;
document.getElementById("total_full").onchange = calculateSubTotal;
document.getElementById("total_full").onkeyup = calculateSubTotal;
document.getElementById("total_half").onchange = calculateSubTotal;
document.getElementById("total_half").onkeyup = calculateSubTotal;
calculateSubTotal;
document.getElementById("total_half").onchange = calculateSubTotal;
document.getElementById("total_half").onkeyup = calculateSubTotal;
</p>