JS:函数未定义

时间:2019-04-19 20:56:15

标签: javascript django django-templates

我有JS脚本功能,可以保存购物车中的食物以订购食物。 该函数带有2个参数ID和价格。

我的脚本文件看起来像

 <script>
    function addtocart(mitem, mprice) {
            var price = String(mprice)
            var mobj = { String(mitem): price }

            var storeobj = JSON.stringify(mobj)
            localStorage.setItem('cart', storeobj)
        }

    </script>

我的按钮看起来像这样

 <p style="position: absolute; bottom: 0px"><button class="button" style="width: 200px" onclick="addtocart( '{{M.Menu_Item}}', '{{M.Menu_ItemPrice}}' )" >Add to Cart</button>

当我在Chrome开发者控制台中单击按钮时,表示未定义addtocart函数。

我确实阅读过有关单击侦听的信息,但是每次单击按钮时我都必须传递参数,这是不同的。我可能做错了什么?

1 个答案:

答案 0 :(得分:4)

您需要使用[]设置mobj。

var mobj = { [String(mitem)]: price };

基本上,Chrome会在

处抛出“ Uncaught SyntaxError:Unexpected token:”
var mobj = { String(mitem): price }  

,这意味着由于语法错误,它无法识别您的JS代码。