2016-08-28 5 views
1

Я хотел бы отключить кнопку отправки после отправки формы. Это означает, что кнопка отправки не должна быть доступна после нажатия кнопки «Отправить». Это означает, что я хочу кнопку отправить, чтобы остаться даже после отключения обновленияОтключить кнопку отправки Jquery после отправки

; (function ($) { 

    $.fn.tpFormDialogCustom = function (method) { 

     var self = this; 

     var dialogButtons = [ 
      { 
       text: "Submit and Email", 
       id: "tpFormDialog_btnSubmit", 
       click: submitandmailTpFormDialog 
      }, 


function submitandmailTpFormDialog() { 
    if(CheckValidate()) { 
    commonDialogs.showError(ExampleMessages.JournalError); 
    } else { 
    commonDialogs.showConfirm(ExampleMessages.ConfirmEmail, function() { 
     try { 
     commonDialogs.showProgress(ExampleMessages.SubmitAndEmail); 
     var o = getOptions(); 
     var form = $(o.form); 
     form.ajaxSubmit({ 
      success: handleEmailResponse, 
      beforeSerialize: function($form, options) { 
      if(!$("#SubmitBtn", $form).length) { 
       $('select.required', $form).prop('disabled', false); 
       $form.append("<input id='SubmitBtn' type='hidden' name='From' value='Submit' />"); 
      } 
      } 
     }); 
     } catch(e) { 
     commonDialogs.showError(); 
     } 
    }); 
    } 
} 


function handleEmailResponse(data) { 
      $('#tpFormDialog_btnSubmit').prop("disabled", true); 
      commonDialogs.hideProgress(); 
      var o = getOptions(); 
      if (data.IsSuccess) { 
       commonDialogs.showAck(ExampleMessages.ConfirmSendEmail); 
       closeTpFormDialog(); 
       o.table.refresh(); 
      } else { 
       var errors = data.ResponseModel; 
       if (typeof (errors) === 'string') { 
        commonDialogs.showError(errors); 
       } else { 
        helpForValidation.showErrors(errors); 
       } 
      } 
     }; 
+0

Я обычно скрываю свои кнопки отправки с дисплеем без щелчка и заменяю их сообщением типа «спасибо за обращение». –

+0

Возможный дубликат кнопки [JQuery disable (всплывающее диалоговое окно)] (http://stackoverflow.com/questions/39197502/jquery-disable-button-popup-dialog) – user3807187

ответ

3

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

$('input:submit').click(function(){ 
    console.log("Form is submiting....."); 
    $('input:submit').attr("disabled", true); 
}); 

Демо: https://jsfiddle.net/Prakash_Thete/6qqgszs4/

2

Вы должны сделать это на ajaxsuccess так в случае error пользователь может повторно отправить форму. В вашем случае это будет внутри функции handleEmailResponse.

function handleMailResponse(){ 
    $('#btnSubmitId').prop("disabled", true); 

    /* the rest of your code */ 
} 
+0

Привет, я добавил его в ответ handlemail, но он не похоже работа. Обновленный ответ наверху. – user3807187

+0

$ ('tpFormDialog_btnSubmit'). Prop ("disabled", true); должен быть $ ('# tpFormDialog_btnSubmit'). prop ("disabled", true); с хешем #, если он объявлен как id Merlin

+0

добавлен #. все еще не работает. Я хочу, чтобы кнопка отправки оставалась отключенной после обновления. – user3807187

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