JavaScript阻止表单提交

JavaScript阻止表单提交,javascript,jquery,forms,Javascript,Jquery,Forms,当我按下JavaScript对话框上的取消按钮时,我试图使我的表单不提交 我有以下代码: $(document).ready(function() { $("#submit").click(function (e) { e.preventDefault(); var link = $(this).attr("href"); // "get" the intended link in a var var result = confirm(

当我按下JavaScript对话框上的取消按钮时,我试图使我的表单不提交

我有以下代码:

  $(document).ready(function() {
    $("#submit").click(function (e) {
        e.preventDefault();
        var link = $(this).attr("href"); // "get" the intended link in a var
        var result = confirm("Are you sure you want to log this fault?");
        if (result) {
            document.location.href = link;  // if result, "set" the document location      
        }
    });
});
无论我是否按下“确定”或“取消”按钮,表单都会提交,即使我有“防止”默认代码

我的HTML代码是:

<button type="submit" id="submit" class="btn btn-default"><span class="glyphicon glyphicon-floppy-save"></span></button>


....
....
....
$(函数(){
//这与按钮单击的操作相同,因为两者都提交表单
$(文件)。关于“提交”、“我的表格”,职能(e){
var result=confirm(“您确定要记录此故障吗?”);
//如果点击了“取消”
如果(!结果){
返回false;
}
//如果点击“确定”,则将提交表格
});
});

以下类似操作将不起作用,因为
引用的提交按钮没有
href
属性

var link = $(this).attr("href"); // is invalid.
试一试


旁注:无论你从哪里获得这段代码,他们都必须使用一个超链接
,样式像一个按钮,带有有效的href属性:)

该表单从未提交?请发布你的HTML。那么,你根本不想提交表单?如果用户选择“确定”,则转到“链接”?对“取消”不做任何操作?不,如果用户单击“取消”,我不想提交表单。如果用户单击“确定”,我希望它能正常进行,并继续提交,这是为什么?document.location.href=链接;如果您正在提交表格?你也可以添加表单html吗?找不到资源。描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。请求的URL:/Incident/undefinedI使用@TilwinJoymy提供的代码获取上述错误。代码是@using(HTML.BeginForm(“Create”,“Incident”,FormMethod.Post,new{name=“frm”,id=“frm”}))
var link = $(this).attr("href"); // is invalid.
 $(document).ready(function() {
    $("#submit").click(function (e) {
        e.preventDefault();
        var result = confirm("Are you sure you want to log this fault?");
        if (result) {
        $('#formId').submit(); // where formId is the id of your form
          document.location.href = "url to which you want to redirect";      
        }
        else
        return false;
       });
});