2017-12-24 11 views
0

가격을 두 배로 올려야하지만 기능이 작동하지 않습니다. 총계가 표시되지 않습니다. 아래는 코드입니다.내 onchange가 작동하지 않습니다.

<label>Price</label> 
<input type="text" id="price" name="price" value="<%=rs.getDouble(2)%>" onchange="autoprice()"/> 

<label>Total</label> 
<input type="text" id="total" name="total" readonly="readonly"/> 

내 스크립트 :

여기
<script>   
    function autoprice(){     
     var x = document.getElementById("price").value; 
     document.getElementById("total").value = (x * 2).toFixed(2); 
    } 
</script> 
+0

무엇이 오류입니까> –

+0

그것이 내 목표로 작동합니다! 당신이 직면 한 이슈는 무엇입니까? onchange는 입력 상자 밖으로 집중할 때 트리거된다는 점을 기억하십시오. – cdoshi

+1

'onchange' 대신'oninput'을 사용해야 할 것 같습니다. –

답변

0

내가 당신의 코드와 그 작업 고급의 조각을 만든

이 내 형태입니다.

function autoprice() { 
 
    var x = document.getElementById("price").value; 
 
    document.getElementById("total").value = (x * 2).toFixed(2); 
 
}
<label>Price</label> 
 
<input type="text" id="price" name="price" value="" onchange="autoprice()" /> 
 

 
<label>Total</label> 
 
<input type="text" id="total" name="total" readonly="readonly" />

+0

아니요, 기능에 영향을 미치지 않습니다. 데이터베이스에서 가치를 얻고 있습니까? – Bhuwan

+0

예. 데이터베이스에서 가치를 얻고 있습니다. 나는 그것을 마침내 해결했다. 값을 표시하려면 onchange/oninput을 사용하지 말고 대신 onpageshow를 사용합니다. 도움을 주신 모든 분들께 감사드립니다. 나는이 분야에서 아직도 새로운 사람입니다. – Amy

0

onchange를가 초점이 커서 이동이 필요합니다. 값을 입력 한 후에 Tab 또는 Enter를 누르십시오. 아래 코드와 같이 값이 변경 될 때 동적으로 변경하려면 oninput을 사용하십시오.

<label>Price</label> 
<input type="text" id="price" name="price" value="" oninput="autoprice()"/> 

<label>Total</label> 
<input type="text" id="total" name="total" readonly="readonly"/> 

<script>   
    function autoprice(){     
     var x = document.getElementById("price").value; 
     document.getElementById("total").value = (x * 2).toFixed(2); 
    } 
</script>