JavaScript 함수 onkeyup 실행 안 함

질문:

나는 내 응용 프로그램의 오래된 코드를 얻었다. 자바스크립트를 사용하여 일부 물건을 계산했다. 논리는 하나의 텍스트 상자가 채워지면 다른 텍스트 상자가 자동으로 채워지고 두 번째 텍스트 상자가 채워지면 다른 텍스트 상자는 text1-text2로 돌아간다. 아마도 이 바이올린을 볼 수 있을 것이다.
HTML:
<label>Price Start</label>
<input type="number" class="form-control" placeholder="Total Harga Diberikan" required="required" name="price" onkeyup="calculate()" id="price" />
<br />
<label>Discount</label>
<input type="number" class="form-control" placeholder="Nominal Potongan" name="jmlvoucher" onkeyup="calculate()" id="jmlvoucher" />
<br />
<label>Total</label>
<input type="number" class="form-control" placeholder="Total yang harus dibayarkan" required="required" name="total" id="total" />
Javascript:
function calculate(){
    var num1 = document.getElementById("price").value;
    var num2 = document.getElementById("jmlvoucher").value;

    var sum=parseFloat(num1)-parseFloat(num2);
    document.getElementById('total').value=sum.toString();
}
http://jsfiddle.net/n4anv5qn/2/
오류를 확인하려고 시도했지만 오류가 없습니다.그것을 운행해 보아라, 그것은 작용하지 않는다.왜 그런지 알아?

답안

keyup을 시작할 때 오류가 발생했습니다.
Uncaught ReferenceError: calculate is not defined
JSFIDLE에서 JavaScript를 onLoad 함수에 넣도록 선택한 것은 잘못된 것입니다.선택해야 합니다No Wrap.
만나다http://jsfiddle.net/n4anv5qn/5/
요구에 따라, 이 코드는 예시로, 만약 당신의 할인이 만족되지 않는다면, 당신은 여전히 당신의 총 할인을 계산할 수 있다는 것을 설명한다.num2에서 가져온 값이 비어 있는지 확인하고 기본값으로 설정하십시오.
function calculate(){
    var num1 = document.getElementById("price").value;
    var num2 = document.getElementById("jmlvoucher").value;

    if (num2 == '')
        num2 = '0';

    var sum=parseFloat(num1)-parseFloat(num2);
    document.getElementById('total').value=sum.toString();
}