需要Javascript购物车帮助

Javascript shopping cart help needed

本文关键字:帮助 购物车 Javascript 需要      更新时间:2023-09-26

我有一个带有产品列表的gridview,需要将它们添加到javascript购物车中。使用下面的代码可以完美地工作:

<a href="javascript:;" onclick="simpleCart.add( 'name=<%# Eval("Name") %>' , 'price=<%# Eval("Price") %>' , 'quantity=1' );">Add To Cart</a>

但是,当产品添加到购物车时,我还需要执行一些服务器端功能,因此我想到用按钮替换上面的功能,并调用onClick和onClientClick,如下所示:

<asp:Button ID="AddCartButton" runat="server" Text="Add To Cart" onClick="AddCartButton_Click" OnClientClick="AddItem()" />
                <script type="text/javascript">
                    function Additem() {
                        javascript: simpleCart.add('name=<%# Eval("Name") %>', 'price=<%# Eval("Price") %>', 'quantity=1');
                    }    
    </script> 

这不会产生任何错误,但是javascript似乎不工作(因为没有产品被添加到购物车),但是服务器端代码正在正确执行。

在您的情况下,您正在创建许多全局函数,它将只使用最新的一个。为这个函数提供你的数据和参数,并且只在页面上声明一次。

更改为:

<asp:Button ID="AddCartButton" runat="server" Text="Add To Cart" onClick="AddCartButton_Click" OnClientClick="AddItem('<%# Eval("Name") %>', '<%# Eval("Price") %>')" />

和数据绑定外:

            <script type="text/javascript">
                function Additem(name, price) {
                    javascript: simpleCart.add('name=' + name, 'price=' + price, 'quantity=1');
                }    
            </script> 

我必须将onClientClick更改为:

<asp:Button ID="AddCartButton" runat="server" Text="Add To Cart" onClick="AddCartButton_Click" 
     OnClientClick='<%# Eval("Name", "AddItem('"{0}'", ").ToString() + Eval("Price", "'"{0}'")").ToString() %>' />

和函数to:

<script type="text/javascript">
                function Additem(name, price) {
                    javascript: simpleCart.add('name=' + name, 'price=' + price, 'quantity=1');
                }    
            </script> 

如Samich所述