簡體   English   中英

需要JavaScript購物車幫助

[英]Javascript shopping cart help needed

我有一個帶有產品列表的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() %>' />

和功能為:

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

正如Samich在上面提供的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM