<input type="text" onkeypress="checknum()" onkeyup="cal(this)">
<input type="text" name="result">
<script language="javascript">
function checknum()
{
if ((event.keyCode < 45 || event.keyCode > 57) && event.keyCode!=13)
event.returnValue = false;
}
function cal(obj)
{
if(obj.value=="")
{
document.all.result.value=""
return false;
}
num=parseInt(obj.value)
document.all.result.value=(num*0.8).toFixed(1);
         //如果数据时有小数的
         //num=parseFloat(obj.value)
        //  document.all.result.value=num*0.8 ;
}
</script>

解决方案 »

  1.   

    <input type="text" onkeypress="checknum()" onkeyup="cal(this)">
    <input type="text" name="result">
    <script language="javascript">
    function checknum()
    {
    if ((event.keyCode < 45 || event.keyCode > 57) && event.keyCode!=13)
    event.returnValue = false;
    }
    function cal(obj)
    {
    if(obj.value=="")
    {
    document.all.result.value=""
    return false;
    }
             num=parseFloat(obj.value)
             document.all.result.value=(num*0.8).toFixed(2);
    }
    </script>
      

  2.   

    可以用onpropertychange事件 也可以
      

  3.   

    添加了粘贴计算<input type="text"  onkeyup="cal(this)" onkeypress="checknum()"  onpaste="cal(this)">
    <input type="text" name="result">
    <script language="javascript">
    function checknum()
    {
    if ((event.keyCode < 45 || event.keyCode > 57) && event.keyCode!=13)
    event.returnValue = false;
    }function cal(obj)
    {
    num=parseFloat(obj.value)
    if(isNaN(num))
    {
    obj.value=""
    document.all.result.value=""
    return false;
    }
        else 
        {    
         obj.value=num
         document.all.result.value=(num*0.8).toFixed(2);
         }
    }
    </script>