如何取消发布Mvc的请求?

时间:2011-11-21 16:28:47

标签: javascript jquery asp.net-mvc razor

我正在尝试实现以下想法: 当您保存用户是一个没有封面的事情 是通过向jquery发送问题来询问是否保存。 但问题在于,无论他是否选择以相同方式保存的选项 我正在使用这个jquery ..某种形式来提出这样的请求..什么时候取消 他没有在页面上做任何事情或者没有约束[HttpPost] mvc?

这个我正在使用jquery

<script type="text/javascript">
  $(document).ready(function () {
    $("#Salvar").click(function () {
        if ($("#CapaSelecionada").val() == null) {
            var answer = confirm("Deseja criar uma materia sem capa?")
            if (answer) {
                alert("salvou");
            } else {
                location.pathname;
            }
        }
    });
});
</script>

2 个答案:

答案 0 :(得分:1)

我假设id Salvar是你的表单提交按钮?如果这是一个输入按钮,我会把它变成一个html按钮,并根据用户的动作提交表单与jQuery如下:

$("#Salvar").click(function () {
        if ($("#CapaSelecionada").val() == null) {
            var answer = confirm("Deseja criar uma materia sem capa?")
            if (answer) {
                $('#target').submit(); // submit form
            } else {
                // do something else
            }
        }
    });

答案 1 :(得分:1)

要取消帖子,您有两个选择:

  1. return false;来自'no'case
  2. 接受您的函数上的事件arg并致电event.preventDefault()

    $("#Salvar").click(function (event) {
        if ($("#CapaSelecionada").val() == null) {
            var answer = confirm("Deseja criar uma materia sem capa?")
            if (answer) {
                alert("salvou");
            } else {
                // Cancel the post
                event.preventDefault();
            }
        }
     });
    
  3. return false; is stronger the event.preventDefault()并且有些人更喜欢后者允许您将更多事件挂钩到您的按钮上,但是您的situtaton return false也可能会做同样的事情。