2015-03-17 3 views
0

У меня есть следующие <asp:Label.../>:Jquery подтверждения не работает

<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> и не a <asp:Button../> управление из-за <span class="icon=shopping-cart"> что я am usi ng .. Использование управления кнопками asp не позволяет встраивать в него класс span.

Теперь я хочу, чтобы на нажатие кнопки оповещения должен прийти с вариантами ДА или НЕТ, как это происходит в 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> 

PS: Я вложил script в тег тела (который является ContentPlaceHolder) Что не так с сценарием .. а также каким образом я должен делать всплывающее окно confirm()?

Кроме того, у меня есть элементы управления label и button, вложенные в список ul-li!

ответ

2

Изменить кнопку:

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

Вашего JQuery не работает, потому что ваша кнопка ID не «btnAddToCart» это объединение всех контейнеров именования + «btnAddToCart». Это значение ClientIdMode по умолчанию. Вы хотите статичный, который в основном говорит asp.net. «Не волнуйся, я знаю, что я делаю. Там будет только один из этих элементов управления на странице с этим идентификатором».

См.: https://msdn.microsoft.com/en-us/library/system.web.ui.clientidmode(v=vs.110).aspx для получения дополнительной информации.

+0

1) с помощью 'ClientIDMode 'вызывает ошибку, не допуская заглавные буквы в'

+0

удалил ClientIdMode с элемента управления '' и вместо этого дал тот же атрибут атрибуту' @ Page' ... все еще не работает! –

+0

Возникает ошибка, не допускающая прописных букв? А? Каково точное сообщение об ошибке? – aquinas

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> 
Смежные вопросы