任何人都可以告诉我它有什么问题。感谢
Firebug显示错误表示“TypeError:price is undefined”。 howmany = parseInt(price.value); }
代码的目的:
我使用javascript来计算联系表单的总价。 价格和数量来自表格。
HTML部分:
<form id="contact-form" action="/email_form.php" method="post">
<table>
<tr ><td> CAKE A </td>
<td><input name="p_A01" id="p_A01" value="420" readonly="readonly" type="tel" /></td>
<td><input name="q_A01" id="q_A01" type="tel" onchange="calculateTotal(); /> </td></tr>
<tr ><td> CAKE B </td>
<td><input name="p_A02" id="p_A02" value="420" readonly="readonly" type="tel" /></td>
<td><input name="q_A02" id="q_A02" type="tel" onchange="calculateTotal(); /> </td></tr>
.
.
.
etc
</table>
<input name="submit" type="submit" />
</form>
Javascript部分: GetQuantity()用于从Qty字段中获取值。例如q_A01 ..
GetPrice()用于获取只读值Price字段。例如p_A01 ..
calculateTotal()用于计算总价并返回字段ID“Total”。
function GetQuantity(e) {
var theForm = document.forms["contact-form"];
var quantity = theForm.elements[e];
var howmany =0;
if(quantity.value!=0) {
howmany = parseInt(quantity.value); }
return howmany;
}
function GetPrice(e) {
var theForm = document.forms["contact-form"];
var price = theForm.elements[e];
var howmany =0;
if(price.value!=0) {
howmany = parseInt(price.value); }
return howmany;
}
function calculateTotal()
{
var cakePrice =
GetPrice(p_A01)*GetQuantity(q_A01)+
GetPrice(p_A02)*GetQuantity(q_A02)+
GetPrice(p_A03)*GetQuantity(q_A03)+
GetPrice(p_F11)*GetQuantity(q_F11);
var Totalordered = document.getElementById ("Total");
Totalordered.value = cakePrice;
}
答案 0 :(得分:0)
GetPrice(p_A01)*GetQuantity(q_A01)+
GetPrice(p_A02)*GetQuantity(q_A02)+
GetPrice(p_A03)*GetQuantity(q_A03)+
GetPrice(p_F11)*GetQuantity(q_F11);
应该是
GetPrice("p_A01")*GetQuantity("q_A01")+
GetPrice("p_A02")*GetQuantity("q_A02")+
GetPrice("p_A03")*GetQuantity("q_A03")+
GetPrice("p_F11")*GetQuantity("q_F11");
因为ID是字符串。