Показ кнопки на jquery событие загрузки страницы не работает - PullRequest
0 голосов
/ 23 января 2020

Я отображаю кнопку на событии загрузки страницы jquery, но она не работает. После отрисовки страницы она не видна.

Работает нормально, если я устанавливаю видимость в коде события загрузки страницы.

Jquery

function pageLoad() {
   $('#btnSwitchDistributor').css({ 'visibility': 'visible', 'display': 'inline-block' });
}

Html

<asp:Button ID="btnSwitchDistributor" runat="server" Text="Switch Distributor" Visible="false" />

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Просто удалите видимый атрибут html и JQuery css.

0 голосов
/ 23 января 2020

Согласно MSDN , когда вы устанавливаете Visible="false" в своем коде на стороне сервера, тогда элемент вообще не отображается клиенту. Это означает, что ваша кнопка не является «невидимой» на получаемой странице, она не существует на полученной странице. Никакой код JavaScript не может взаимодействовать с элементом, которого нет.

Похоже, вместо этого вы хотите применить стиль к элементу управления:

<asp:Button ID="btnSwitchDistributor" runat="server" Text="Switch Distributor" style="display:none;" />

Помимо этого , здесь есть две возможные проблемы, которые я не могу обязательно подтвердить содержанием вопроса, но которые вы захотите проверить ...

  1. Значение ID, которое вы ищете - это объект ID на стороне сервера. Этот не обязательно должен быть на стороне клиента id результирующего элемента HTML. Изучите источник страницы, чтобы увидеть клиентскую сторону id. Если он отличается, то вам может потребоваться установить его явно, используя свойство ClientID .
  2. Вы когда-либо вызывали pageLoad() в своем коде JavaScript? Если нет, то вам нужно это сделать. Я предполагаю, что в document.ready обработчик событий ? Для jQuery это может быть просто: $(pageLoad)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...