-1

我已经在我的一个页面上成功地使用了这个计算脚本,但是,当我在另一个页面中重用它时。该页面一直说“未捕获的类型错误:无法读取未定义的属性'值'”我不明白这个脚本有什么问题。所以你能帮帮我吗?谢谢你。

<script>
function startCalc(){ //automatically calculate total after discount when adding new order
  interval = setInterval("calc()",1);
}
function calc(){
 // for calculate each product order
 var price;
 var qty;
 var od_total;
  price = document.myform.od_price.value;
  qty = document.myform.od_qty.value; 
  od_total = (price * 1) * (qty * 1);
  document.myform.od_total.value = od_total.toFixed(2);  
}

function stopCalc(){
  clearInterval(interval);
}
</script>

我用这个脚本

<input id="od_qty" name="od_qty" type="text" size="8" value="" maxlength="100" onFocus="startCalc();" onBlur="stopCalc();">
<input id="od_price" type="text" size="4" value="<%=rs.fields.item("cust_price")%>" onFocus="startCalc();" onBlur="stopCalc();"  >
<input id="od_total"  name="od_total" type="text" size="10" value="" maxlength="100" readonly="true">
4

3 回答 3

6

这是页面结构的问题。这些字段必须采用调用myform才能document.myform.od_price.value起作用的形式。您可以将行更改为

document.getElementById('od_price').value

只需使用 id 而不是表单名称来选择它。第二个字段也是如此 - od_qty

于 2012-08-27T11:59:47.907 回答
1

确保name您的表格是myform

<form name="myform" action="page.php" method="POST">
....
</form>

还添加name="od_price"到:

<input id="od_price" name='od_price' .../>
于 2012-08-27T11:58:39.703 回答
1

您缺少输入的name属性od_price。添加它以正确引用它:

<input id="od_price" name="od_price" type="text" size="4" value="<%=rs.fields.item("cust_price")%>" onFocus="startCalc();" onBlur="stopCalc();"  >
于 2012-08-27T12:00:35.880 回答