-1

この計算スクリプトを一方のページで正常に使用しましたが、もう一方のページで再利用しました。そのページには、「Uncaught TypeError:Undefinedのプロパティ'value'を読み取れません」と表示され続けます。このスクリプトの何が問題になっているのかわかりません。だから私を助けてくれませんか。ありがとうございました。

<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を使用して選択するだけです。同じことが2番目のフィールドにも当てはまります- od_qty

于 2012-08-27T11:59:47.907 に答える
1

フォームのが次のとおりであることを確認してnameくださいmyform

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

aslo add name="od_price"to:

<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 に答える