ASP.NET MVC - 如何在表单中添加确认按钮

12
我有一个强类型视图用于我的模型,当用户单击提交时,我想要的是弹出一个确认框,确认用户确实希望提交表单。如果他们点击取消,则不应触发该视图的 HttpPost 操作,这个可能吗?
4个回答

29

当然可以。我喜欢使用不显眼的方法。这里是一个简化的示例:

jQuery(document).ready(function () {
  jQuery('[data-confirm]').click(function (e) {
    if (!confirm(jQuery(this).attr("data-confirm")))
    {
      e.preventDefault();
    }
  });
});

那么你只需要在提交按钮中添加一个 data-confirm 属性,例如:

<input type="submit" data-confirm="are u sure?" />
当然,你可以在链接、按钮等元素上使用此属性,你不仅限于仅限于提交按钮。如果你想要实现更高级的确认对话框,那么你只需要在一个地方替换代码即可。

我将<form name="Form1" method="post" action="@Url.Action("PostForm", "Job")" id="Form1">作为我的表单操作,但是我尝试的所有解决方案都不起作用。它们都会显示一个确认对话框,但如果您点击“是”,则不会提交表单数据。如有建议,敬请赐教。 - Darkloki
我建议创建一个单独的问题,包括所有相关信息。如果您花些功夫创建一个jsfiddle,并将链接包含在您的问题中,您会很快得到答案。 - Hari

5
你可以添加一个简单的jQuery调用来实现这个功能。
在你的视图末尾添加以下代码:
<script type="text/javascript">

    $("form").submit(function() {

        return confirm('Are you sure?');

    });

</script>

或者,添加一个


onsubmit="return confirm('Are you sure?');"

作为新的元素属性

5
        function doSubmit()
        {                                 
                if(window.confirm("ARE YOU SURE TO PERFORM THIS ACTION"))
                {                       
                    return true;
                }
                else return false;                
        }

在表单的 onsubmit 事件中调用 doSubmit() 函数,例如: onsubmit="return doSubmit()"。

0

我相信可以通过使用jQuery覆盖提交按钮来实现。 Jquery .submit()

这样,当用户点击提交时,您可以显示一条消息并选择是提交还是取消。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接