哪里最好添加一个确认对话框弹出窗口

时间:2013-05-03 05:48:14

标签: jquery asp.net asp.net-mvc asp.net-mvc-3 jquery-ui

我正在使用ASP.NET MVC 4以及最新版本的jQuery UIFluent Validation来处理我的服务器端验证。

我想在提交表单之前让jQuery dialog作为确认弹出窗口工作。用户应单击是以提交表单或取消以保留在表单上。

我已经谷歌搜索并尝试了给出的样本,但我无法让它工作。我试过在按钮的点击事件上这样做,没有用。现在我正在尝试将其添加到表单提交。

我的HTML标记:

<button id="SaveButton" type="submit">Save</button>

<div id="dialog-confirm" title="Save Customer?">
     <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Are you sure you want to save this customer?</p>
</div>

我的jQuery代码:

$(document).ready(function () {
     $('form').submit(function () {
          $('#dialog-confirm').dialog('open');
          return false;
     });

     $('#dialog-confirm').dialog({
          autoOpen: false,
          resizable: false,
          modal: true,
          buttons: {
               'Save': function () {
                    $('form').sumbit();
               },
               Cancel: function () {
                    $(this).dialog('close');
               }
          }
     });
});

使用上述方法得到的错误是:

Object doesn't support this property or method

......它在$('form').sumbit();

上中断

如何让它正常工作?最好添加这个?在按钮上或提交表单时?既?

注意:答案需要基于jQueryjQuery dialog控件。

2 个答案:

答案 0 :(得分:2)

试试这个:

$('#dialog-confirm').dialog({
      autoOpen: false,
      resizable: false,
      modal: true,
      buttons: [
                {
                    text : 'Save',
                    click : function () {
                        $('form').submit();
                    }
                },
                {
                    text : 'Cancel',
                    click : function () {
                         $(this).dialog('close');
                    }
                }
            ]
      }
 });

答案 1 :(得分:0)

您可以尝试:在视图中:@ Html.ActionLink(“删除”,“删除”,新{id = item.Id},新{onclick =“返回DeleteConfirm()”})

在脚本中:函数DeleteConfirm(){if(confirm(“你确定要删除记录”))return true;否则返回false; }

在Controller中:public ActionResult DeleteEmp(int id){var empDelete =(来自dbml.M_Employees中的emp,其中emp.Id == id select emp).Single(); dbml.M_Employees.DeleteOnSubmit(empDelete); dbml.SubmitChanges(); return RedirectToAction(“Index”); }