1

私はmvc4Webアプリケーションをフォーム付きのページに持っています

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

<fieldset>
    <legend>News</legend>
    <div class="editor-label">
        @Html.LabelFor(model => model.title)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.title)
        @Html.ValidationMessageFor(model => model.title)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.summery)
    </div>
    <div class="editor-field">
        @Html.TextAreaFor(model => model.summery)
        @Html.ValidationMessageFor(model => model.summery)
    </div>

    <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>
}

フォームが有効になった後、確認ダイアログを表示する関数を呼び出したい(jquery)

$("#dialog-message").dialog({
        modal: true,
        resizable: false,
        draggable: false,
        title: title, closeOnEscape: false,
        buttons: {
            "OK submit": function () {

            },
            "Cancel Submit": function () {

            }
        }
    });

そうするのに最適な理由は何ですか?フォームを検証したいのですが、有効な場合は次のステップで確認メッセージを表示し、「OK送信」を押してフォームを送信した場合は次のステップを実行します。

4

1 に答える 1

1

これを試して:

$(formSelector).submit(function(){
   var frm = $(this);
  if (frm.validate()) {
  $("#dialog-message").dialog({
        buttons: {
        "OK submit": function () {
              //not sure - here can be a mistake
              frm.unbind('submit');
             frm.sumbit();

        },
        "Cancel Submit": function () {

        }
    }
 });
 }
 return false;

});

カスタムダイアログではなく表示したい場合は、これを使用できます。

 $(formSelector).submit(function(){
  var frm = $(this);
  if (frm.validate()) {
          return confirm("Want to submit?");
     }
  return false;
 });
于 2013-03-20T17:25:46.080 に答える