フォームを送信するときにJQuery-UIダイアログを表示したいとします。 私はコードを持っていますが、私は以下のアイデアを持っており、どれが最も理想的かを知りたいと思います。フォームをJquery UIダイアログから送信
var openDialog =function(){
//set up dialog .
var saveButton = // "OK" of dialog -> click event calls: submit the form
var cancel = // "Cancel" of dialog -> click event calls :close the dialog
};
METHOD 01
iはセットアップ
$('form').submit(function(evt){
openDialog();
});
疑い
私はこれを行うとform.submitを(呼び出す場合)として、フォームsaveButtonは文句を言わないクリックされなければならないとき再びopenDialogを呼び出すと、サイクルが作成されます。
OR
方法は02
私はセットアップ形式で送信ボタン/リンクをクリックすると、openDialogの()を呼び出しと同様に提出する必要があります。 フォームの送信イベント設定をトリガーせずに、確認の[OK]ボタンをクリックしたときに、form.submit()を呼び出す方法を教えてください。
* 編集:これは、同様に回答することができれば、私はそれを感謝*
このビーイングは語りました。 ASP.NET MVCデータ注釈がフォームに設定されている場合。 MicrosoftValidationsが実行された場合にのみ、ダイアログが開くようにスクリプトを設定する方法。私はASP.MVC 3.0を使用していて、Jquery Validation/Validatorを使用していません。
BottomLine:
私セットアップ1は、あなたが後でそれを提出することができますので、フォームを送信しないようにでpreventDefault()を追加します。フォーム
これは、フォームを送信しようとするとダイアログが表示されることを意味します。私のopenDialog()は、クリックするとform.submit()を呼び出す「OK」ボタンを持っています。もう一度openDialog()をトリガーしないでください。 – frictionlesspulley
フォーム送信イベントで 'return confirm(" Ok? ")'を実行するだけで済みます。また、私は、どのような摩擦が彼自身のカスタムダイアログを望んで、標準のJavaScript確認ダイアログではないと思う。 – roosteronacid
確認はほんの一例です。あなたが望むことができます – JiDai