Кнопка ASP.net Jquery BlockUI
У меня проблемы с получением кнопки ASP для вызова скрипта jquery, в данном случае BlockUI, но я не уверен, что я делаю неправильно?
<asp:Button runat="server" ID="btnAddUser" Text="Add Currency Combination" ValidationGroup="valSum2" CssClass="showHide" OnClientClick="overlay"
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#overlay').click(function() {
$.blockUI({ overlayCSS: { backgroundColor: '#00f' } });
setTimeout($.unblockUI, 2000);
});
}); </script>
3 ответа
Решение
Вы можете вызвать его, используя имя класса css.ShowHide
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('.showHide').click(function() {
$.blockUI({ overlayCSS: { backgroundColor: '#00f' } });
setTimeout($.unblockUI, 2000);
});
}); </script>
Ваш скрипт ищет элемент DOM с идентификатором "overlay", который не существует. Идентификатор кнопки btnAddUser.ClientID
<asp:Button runat="server" ID="btnAddUser" Text="Add Currency Combination" ValidationGroup="valSum2" CssClass="showHide" />
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('<%= btnAddUser.ClientID %>').click(function() {
$.blockUI({ overlayCSS: { backgroundColor: '#00f' } });
setTimeout($.unblockUI, 2000);
});
}); </script>
Обратите внимание на удаление OnClientClick!
В качестве альтернативы вы можете сделать этот код именованной функцией и ввести ее имя в свойстве OnClientClick. Вы также можете связать с помощью CssClass ( $('. ShowHide')) (см. Ответ @PraveenVenu), но это свяжет функцию со всеми элементами, которые используют этот класс css.
use ()
Вы должны выполнить функцию...
OnClientClick="overlay()"