Jquery确认无法正常工作

时间:2015-03-17 17:23:51

标签: javascript jquery html asp.net button

我有以下<asp:Label.../>

<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>' ForeColor="Desktop" /></h4>

以及 html <button ... >控件:

<button id="btnAddToCart" runat="server" class="btn btn-1 btn-1c center" onserverclick="btnAddToCart_ServerClick" onclick="Confirm()"><span class="icon-shopping-cart"></span>&nbsp;&nbsp;add to cart</button>

PS:我使用普通<button> <asp:Button../>控件,因为我正在使用<span class="icon=shopping-cart"> ..使用asp按钮控件不允许在其中嵌套span类。

现在,我希望点击此按钮时,警告应附带选项YES或NO,因为它出现在confirm("") ..

我写了以下脚本:

<script type="text/javascript">
        $('#btnAddToCart').click(function () { //i have also tried $('.btnAddCart')...
            var productName = $('#lblName').val()
            confirm("Are you sure you want to add " + productName + "into your cart ?");
        });
    </script>

P.S:我已将script嵌入到body标记中(这是ContentPlaceHolder) 脚本有什么问题..以及我应该以哪种方式进行confirm()弹出...?

此外,我将labelbutton控件嵌套在ul-li列表中!

2 个答案:

答案 0 :(得分:2)

将按钮更改为:

<button id="btnAddToCart" ClientIdMode="Static"

您的jquery不起作用,因为您的按钮ID不是&#34; btnAddToCart&#34;它是所有命名容器+&#34; btnAddToCart&#34;的串联。这是默认的ClientIdMode。你想要静态,这基本上告诉asp.net&#34;不要担心。我知道我在做什么。在具有此ID的页面上将只有一个此控件。&#34;

有关详情,请参阅:https://msdn.microsoft.com/en-us/library/system.web.ui.clientidmode(v=vs.110).aspx

答案 1 :(得分:0)

使用<asp:LinkButton.../>比使用普通<button.../>控件更强大...

而不是使用:

<button id="btnAddToCart" runat="server" class="btn btn-1 btn-1c center" onserverclick="btnAddToCart_ServerClick" onclick="Confirm()"><span class="icon-shopping-cart"></span>&nbsp;&nbsp;add to cart</button>

您可以使用:

<asp:LinkButton ID="lnkButton" runat="server" CssClass="btn btn-1 btn-1c center" OnClientClicke="return confirm('Are you sure you want to add this product?')" OnClick="lnkButton_Click"><span class="icon-shopping-cart"></span>Add to Cart</asp:LinkButton>