<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档 </title> 
<script language="javascript"> 
function res() { 
document.all.num.value=document.all.num.value*document.all.price.value;} 
</script> 
</head> <body> 
<form  name="myform"> 
<input type="text" value="1" name="num" onblur="res()"> 
<input type="text" value="1" name="price"> 
</form> 
</body> 
</html>

解决方案 »

  1.   

    主要的错误原因是函数名字,price和input的price重复了,更换一个,就好了
      

  2.   

    楼上的说的有道理。用firefox 可以测试js的bug。只要下个firebug插件就可以测试了。我也做过一个计算价格的功能。不过我用的不是onblur,我是用onkeyup就是你在文本框num每输入一个数字,文本框price就发生变化。不需要将鼠标移动出文本框num。不需要有没有说清楚?还有就是要考虑输入的内容是否是数字。哈哈!就讲这些吧。
      

  3.   


    function price() 

    var num=document.myform.num.value; 
    var price=document.myform.price.value; 
    var last=parseInt(num)*parseInt(price); 
    document.myform.price.value=last; 

    </script> 通过document.myform.price.value取得的值应该是string类型,要进行数学计算先要转换。
      

  4.   

    还有没有方法让<input type="text" value="1" name="num" onblur="price()"> 
    这个文本框里只能输入正整数  不出现0和小数点???