Javascript:这个脚本有什么问题?

时间:2012-08-27 11:56:26

标签: javascript asp-classic

我已经在我的一个页面上成功使用了这个计算脚本,但是,当我在另一个页面中重复使用它时。该页面一直在说" Uncaught TypeError:无法读取属性'值'未定义"我不明白这个剧本有什么问题。那么请你帮帮我吧。谢谢。

<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">

3 个答案:

答案 0 :(得分:6)

这是页面结构的问题。这些字段必须采用名为myform的格式才能使document.myform.od_price.value正常工作。您可以将行更改为

document.getElementById('od_price').value

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

答案 1 :(得分:1)

确保您表单的namemyform

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

aslo将name="od_price"添加到:

<input id="od_price" name='od_price' .../>

答案 2 :(得分: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();"  >