2017-02-28 21 views
0

フォームの送信時にいくつかのアクションを実行します。しかし、最初に私はフォームが何かを削除する必要があるかどうかチェックしたい。物事は、私は再び私のフォームを提出することはできませんです。どのように私はこれを修正するのですか?あなたのSweetAlert完全な機能thisSweetAlertがtrueになるまでフォームの送信を防止します。

$('body').on('submit', 'form', function (e) 
     { 
      let self = $(this); 
      if (self.find('input[name="_method"]').val() == 'DELETE') 
      { 
       e.preventDefault(); 
       swal({ 
         title: window.translations.delete_item_title, 
         text: window.translations.delete_item_content, 
         type: "warning", 
         showCancelButton: true, 
         confirmButtonColor: "#DD6B55", 
         confirmButtonText: window.translations.delete_item_confirm, 
         cancelButtonText: window.translations.delete_item_cancel, 
         closeOnConfirm: false 
        }, 
        function (input) 
        { 
         if(input){ 
          $(this).submit(); 
         } 
        }); 
      } 
     }); 

答えて

0

は、その関数内でスコープされ、オリジナルではない機能を提出します。あなたが送信すると、あなたが自己という変数を作成している - あなたはあなたのコードの終わり近くに、この反対.submit()メソッドを呼び出す必要があります:

if(input){ 
    self.submit(); 
} 

また、私は個人的なself変数とプライベートメンバーが与えられていることをお勧めしますアンダースコアプレフィックス。 _self。これは程度のあいまいさを取り除きます。

関連する問題