그래서 Qty 및 Price 상자에 숫자를 입력하면 Ext 상자에 합산되는 양식이 있습니다. 행을 계속하여 수량을 더 추가하고 가격을 계속 계산하면 합계가 계산되고 머티리얼 합계가 채워지기 때문에 세금이 합산되지 않고 합계 상자가 채워지지 않습니다. 자재 합계 상자에 수동으로 금액을 입력하면 세금 및 합계가 자동으로 채워지며 합계가 정확합니다. onChange, onKeyup 및 onInput을 사용해 보았지만 아무것도 작동하지 않는 것 같습니다. 질문에 대한입력 상자를 onKeyup 또는 onChange로 채울 수 없습니다.
<table>
<td style="width: 40px;">
<td style="width: 465px;" class="auto-style6">Material Total</td>
<td><input type="text" name="material_total"style="width: 55px"id="material"onChange="tax()"></td>
</table>
<table>
<td style="width: 40px;">
<td style="width: 465px;" class="auto-style6">Sales Tax</td>
<td><input type="text" name="sales_tax" style="width: 55px" id="salestax" onChange="tax()"></td>
</table>
<table>
<td style="width: 40px;">
<td style="width: 465px;" class="auto-style6">Shipping</td>
<td><input type="text" name="ship_cost" style="width: 55px" id="shipping"></td>
</table>
<table>
<td style="width: 40px;">
<td style="width: 465px;" class="auto-style6">Total</td>
<td><input type="text" name="total_parts_cost" style="width: 55px" id="total"></td>
</table>
업데이트 : 여기에 스크립트와 관련된 HTML은
function tax(){
var material = document.getElementById('material').value;
var salestax = Math.round(((material/100) * 8.1)*100)/100;
var total = (material*1) + (salestax * 1);
document.getElementById('material').value = material;
document.getElementById('salestax').value = salestax;
document.getElementById('total').value = total;
}
: 여기
내 판매 세 스크립트 그래서 그것으로 재생 후 나는 발견 onpropertychange를 사용하면 IE (IE 10을 사용하고 있지만)에서만 작동하지만 파이어 폭스에서는 작동하지 않게됩니다. 나는 그것이 작동하고 나는 onkeyup을 사용하기 때문에 Ext 상자를 자동으로 채우는 Qty 및 Price 상자를 합계하는 데 사용하는 코드를 포함합니다. 나는 그것이 왜 세금 섹션에 대한 작동 실 거예요 이해가 안돼. 이 프로그래밍 방식으로 변경되고 있기 때문에 onchange를 이벤트가 재료 상자 발사되지 않고, 따라서 발광하지 않습니다 :enter code here function multiply1() {
var extend1 = 1;
for (var i = 1; i <= 2; i++) {
var id = "1_value" + i;
extend1 = extend1 * document.getElementById(id).value;
}
document.getElementById("extend1").value = extend1;
summate();
}
function multiply2() {
var extend2 = 1;
for (var i = 1; i <= 2; i++) {
var id = "2_value" + i;
extend2 = extend2 * document.getElementById(id).value;
}
document.getElementById("extend2").value = extend2;
summate();
}
function multiply3() {
var extend3 = 1;
for (var i = 1; i <= 2; i++) {
var id = "3_value" + i;
extend3 = extend3 * document.getElementById(id).value ;
}
document.getElementById("extend3").value = extend3;
summate();
}
function multiply4() {
var extend4 = 1;
for (var i = 1; i <= 2; i++) {
var id = "4_value" + i;
extend4 = extend4 * document.getElementById(id).value;
}
document.getElementById("extend4").value = extend4;
summate();
}
function multiply5() {
var extend5 = 1;
for (var i = 1; i <= 2; i++) {
var id = "5_value" + i;
extend5 = extend5 * document.getElementById(id).value;
}
document.getElementById("extend5").value = extend5;
summate();
}
function summate() {
var material = 0;
for (var i = 1; i <= 5; i++) {
var id = "extend" + i;
material = material + document.getElementById(id).value * 1;
}
document.getElementById("material").value = material;
}
도움을 주신 Nile에게 감사드립니다. 응답하는 동안 onpropertychange로 변경하면 onchange가 양식 작업을하는 것으로 나타났습니다. – Jason
정말요? 귀하의 업데이트 된 버전이 나를 위해 파이어 폭스 또는 크롬에서 작동하지 않습니다. – Nile
기술자 Toughbook에서 사용되는 모든 기능 만 IE에서 작동해야합니다. Toughbook은 서비스 작업에만 사용되므로 다른 브라우저 옵션을 사용하지 않아도됩니다. – Jason