Подтвердить что ты не робот

Как отключить кнопку после отправки формы?

Я использую asp.net webforms; Я хочу отправить форму и отключить кнопку, пока она не будет сохранена в моей базе данных, точно так же, как Stackoverflow. Любое предложение?

protected void Lb_Save_Click(object sender, EventArgs e)
{
   //disable my button
      //Do a DB insert 
   //enable my button
}

EDIT:

Сначала я сделаю проверку на стороне клиента, поэтому я не хочу, чтобы моя кнопка была отключена, но я хочу отключить ее после запуска функции onclick. Надеюсь, вы все поняли.

Также я хотел бы сделать то же самое для asp: linkbutton, но я не знаю, как работает firefox для него. Как linkbutton будет отображаться как якорь, как я могу отключить его?

Ребята, вы не получили мой вопрос.

Как отключить asp: кнопку во время обратной передачи? (не в jQuery/Javascript)

4b9b3361

Ответ 1

Он отключает его на submit(), он никогда не активирует его снова, потому что вы перенаправлены. Однако, если вы хотите сделать какую-то проверку, вы просто выполните

$("#yourForm").submit(function(e) {
    $("#yourButton").attr('disabled','disabled');
    if (whateverValidation) {
        e.preventDefault();
        $("#yourButton").removeAttr('disabled');
    } 
});

Ответ 2

Короткий ответ: Javascript.

Дольше ответ:

$('#formid').submit(function () {
     $('#buttonid').hide();
 $('#disabledbuttonimageid').show();
});

Ответ 3

Как? Это волшебство.

Теперь, если вы не хотите javascript:

  • При обратной передаче отключите кнопку.
  • Не выполняйте настоящую работу, но задайте переменную Session, чтобы указать, какая работа необходима.
  • Установить метатег для принудительного немедленного обновления.
  • Возврат - браузер немедленно обновит страницу.
  • Когда вы получаете запрос сейчас, вы проверяете Session var и выполняете работу.

Могут быть другие способы, но, откровенно говоря, все они гониг, чтобы быть странным, почему бы вам не JavaScript?

Ответ 4

Единственный способ сделать это с помощью веб-форм (а это не mvc) - скрыть исходную кнопку и заменить ее изображением отключенной кнопки или другой кнопки, которая отключена. Если вы на самом деле отключите кнопку .net JavaScript не выполнит отправку.

(Да, я знаю, что вы можете "взломать".net JavaScript, но на самом деле, это лучше?)

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

NB: MVC должен быть таким же простым, как код в других ответах, которые просто отключают кнопку перед вызовом ajax. SO использует MVC, чтобы у них не было проблем, с которыми вы столкнулись.

Ответ 5

Хорошо, есть код, который может дать вам представление о том, что делать. Вам понадобится класс DISABLED, который установит соответствующие стили CSS кнопки или что-то еще, поэтому она отключена...

КЛИЕНТСКАЯ СТОРОНА JAVA SCRIPT

function doRequest(MY_DATA_THAT_I_WANT_TO_SEND)
{
    $.ajax({
       type: "GET",
       url: "saving_page.aspx?data="+MY_DATA_THAT_I_WANT_TO_SEND,
       timeout: 10000,
       beforeSend: function()
       {    
           $("#button").toggleClass("DISSABLED");
       },
       complete: function(XMLHttpRequest, textStatus)
       {
           //Or you can remove success handler and let complete hander enables
           //the button, so it gets enabled if there was an error or there was success
           //$("#button").toggleClass("DISSABLED");         
       },                             
       success: function(data)
       {                                            

           if(data == "OK") $("#button").toggleClass("DISSABLED");                       
       }

     });        
};

СЕРВЕРНАЯ СТОРОНА CS

protected void Page_Load(object sender, EventArgs e)
{
    string data = Request.Params.Get("data");
    saveDataToDataBase(data);

    //Sleep some more...
    Thread.Sleep(3000);

    //Send ok
    Response.Write("OK");
    Response.End();
}

Ответ 6

Пожалуйста, попробуйте следующий код.

JQuery ( '# mybuttonid'). нажмите (функция() { JQuery (это).attr( 'инвалиды', инвалиды "); });