2016-04-05 5 views
0

Я новичок в C#. У меня есть кнопка сохранения внутри InsertItemTemplate. Я использовал следующий код, чтобы отключить кнопку после первого щелчка в java-скрипте, но его даже не работает для первого щелчка, пожалуйста, помогите мне.как отключить кнопку после первого щелчка в javascript

<asp:ImageButton ID="imgbtnSave" runat="server" CommandName="Add" CausesValidation="true" OnClientClick="this.disabled='true';return true;" /> 
+0

Я думаю, что это значение в «OnClientClick» должен быть метод в вашем коде C#. Затем вы добавили бы код для отключения кнопки там, например: imgbtnSave.Enabled = false; –

+0

Спасибо за ваш отзыв Я хочу остановить несколько обратных передач – bhavya158

+1

@ B.ClayShannon вы думаете об атрибуте OnClick. OnClientClick по существу принимает все, что вы там вкладываете, и добавляет его к тому, что ASP.NET помещает в атрибут HTML onclick. – ElGavilan

ответ

1

Вы изменяете «заблокировано» свойство объекта DOM в браузере, но кнопка будет делать запись обратно на сервер, когда он нажал, так что любые изменения в DOM будут потеряны.

В функции, где вы обрабатываете команду «Добавить» в своем коде сервера, вы должны получить кнопку из InsertItemTemplate и установить для ее свойства «Включено» значение false, что приведет к отключению элемента управления со стороны сервера.

Если вы хотите, чтобы избежать нескольких кликов, пока страница не перезагружается, то вам нужно функцию клиента, чтобы избежать этого, что-то вроде этого:

<asp:ImageButton ID="imgbtnSave" runat="server" CommandName="Add" CausesValidation="true" OnClientClick="return checkEnabled(this);" /> 

<!-- somewhere in your page --> 
<script> 
    function checkEnabled(item) 
    { 
     if(item.disabled != 'true') 
     { 
      item.disabled = 'true'; 
      return true; 
     } 

     return false; 
    } 
</script> 
+0

Большое вам спасибо. Я попробовал, но функция вызывается дважды, если дважды нажать кнопку сохранения. Как остановить его – bhavya158

+0

Смешать оба решения, OnClientClick установить OnClientClick = "if (this.disabled! = 'True') {this.disabled = 'true'; return true;} else {return false;}" и серверная часть остается тем же самым – Gusman

+0

Спасибо .. Я вызвал функцию, используя это ключевое слово, чтобы получить доступ к кнопке изображения из списка, но ее можно разрешить несколько обратных ссылок OnClientClick = "checkEnabled (this)" – bhavya158

Смежные вопросы