function sum(){
var rebate =document.getElementById( "taskProgram.rebate").value; //折扣
var unitPrice = document.getElementById( "taskProgram.unitPrice").value;//单价
var amount = document.getElementById( "taskProgram.amount").value;//数量
var sub; //折扣价
var subAll; //总合 
if(rebate !=0){
sub =rebate * unitPrice * amount;
subAll = unitPrice * amount;

}else{
sub =unitPrice * amount;
subAll = unitPrice * amount;
}
document.getElementById( "taskProgram.summation").value = subAll;
document.getElementById( "taskProgram.money").value = sub;

}
 <input name="taskProgram.unitPrice" id="unitPrice" type="text" 
          onchange="sum()" onkeyup="value=value.replace(/[^\d]/g,'') "
          maxlength="50" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/> onchange="sum()"  这里 调用的是 一些 我自己写的方法 
 onkeyup="value=value.replace(/[^\d]/g,'') "
          maxlength="50" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>这里写的是 只能输入 数字的代码 ; 一起写 就出问题了 怎么改呀  帮帮忙