网站:
问题:我正在尝试编写简单的javascript函数来计算客户订单的小计和总计。我得到了箭头来增加/减少每个产品的值。
试图写功能现金(数量);这被称为onclick与其他“内联JavaScript”代码。在现场,只有第一个产品的向上箭头调用现金功能。
调用功能现金时,document.getelementbyid('szett_subtotal').Value=price;
不起作用。
现金功能:
function cash(qty)
{
var price = 0;
price = 12990 + ((qty.value-1)*9990);
document.getelementbyid('szett_subtotal').Value=price;
)
感谢您的帮助。我希望。
澄清
向下按钮不包含此现金功能调用,因为我专注于向上按钮以进行测试。
答案 0 :(得分:1)
cash
的函数声明导致解析错误:
function cash(qty)
{
var price = 0;
price = 12990 + ((qty.value-1)*9990);
document.getElementById('szett_subtotal').value=price;
)
^
Uncaught SyntaxError: Unexpected token )
函数体应以卷曲的末端括号}
结束。
此外,不要使用内联JavaScript代码,它容易出错,并且首选从HTML外部添加行为,例如.addEventListener()
。
最简单的方法是创建一个点击处理函数并从内联调用 :
function inc_quantity(v)
{
var qty_el = document.getElementById(v);
var qty = qty_el.value;
if( !isNaN( qty )) qty_el.value++;
cash(qty_el);
}
... onclick="inc_quantity('quantity_szett')"
答案 1 :(得分:0)
Value
应为value
,getelementbyid
应为getElementById
。
document.getElementById('szett_subtotal').value=price;
JavaScript是一种区分大小写的语言。
答案 2 :(得分:0)
在向下按钮上,您的页面包含:
var qty_el = document.getElementById('quantity_szett'); var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value--;return false;
然而,在向上按钮上,它说:
var qty_el = document.getElementById('quantity_szett'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;cash(document.getElementById('quantity_szett'));return false;
在向下按钮的cash
上调用onclick
功能。计算机没有常识,即使按下按钮,计算机也不会调用cash
。
即。添加
cash(document.getElementById('quantity_szett'));
在你的向下按钮return false
的{{1}}之前。
希望这有帮助!!