フォーム送信のための行動を確認するためにjqueryのUIダイアログを使用して

StackOverflow https://stackoverflow.com/questions/2420773

  •  19-09-2019
  •  | 
  •  

質問

私は、ユーザーがフォームの送信前に確認したいそれらのそれぞれのために、ページ上の複数のフォームを持っています。ユーザーが提出し確認したときには、どのように私は、このダイアログは、ユーザーがsumbittingさ形成している知っているのですか?それは、カスタムパラメータを取るのか?おかげます。

$("#dialog-confirm").dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Confirm submit': function() {
                document.______???????_____.submit();
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    });
$('.allForms').submit(function(){
      $('#dialog-confirm').dialog('open');
});
役に立ちましたか?

解決

あなたはこのような変数に格納することができます:

var currentForm;
$("#dialog-confirm").dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Confirm submit': function() {
                currentForm.submit();
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    });
$('.allForms').submit(function(){
      currentForm = this;
      $('#dialog-confirm').dialog('open');
      return false;
});
あなただけのだけのページを残して、すぐにこれを使用しているので、本当の理由はそれよりもこれ以上複雑にしないために

他のヒント

またはどの程度

$(this.form).submit();

ニックCraver彼の答えに基づいて、あなたはそれをこのように書くことができます:

$('.allForms').submit(function(){
      currentForm = this;

      $('#dialog-confirm').dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Confirm submit': function() {
                currentForm.submit();
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
      });
      return false;
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top