Кнопка 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()"
Другие вопросы по тегам