<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=="")
return false;
num=parseInt(obj.value)
document.all.result.value=num*0.8
}
</script>

解决方案 »

  1.   

    如果输入数为整数
    function cal(obj)
    {
    if(obj.value=="")
    return false;
    num=parseInt(obj.value)
    document.all.result.value=(num*0.8).toFixed(1);}
    如果是含小数function cal(obj)
    {
    if(obj.value=="")
    return false;
    num=parseFloat(obj.value)
    document.all.result.value=num*0.8;}
      

  2.   

    function cal(obj)
    {
    if(obj.value=="")
    return false;
    num=parseFloat(obj.value)
    document.all.result.value=(num*0.8).toFixed(2);
    }
      

  3.   

    另外更正
    if(obj.value=="")
    {
    document.all.result.value="";
    return false;
    }
    改为
      

  4.   

    添加粘贴计算<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>