[英]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.