javascript - TypeError : e. preventDefault 不是函数

标签 javascript jquery ajax

我是 javascript 和 jquery 的新手。我在这段代码中使用了两个 jquery 插件。一个是 Jquery 表单验证器,另一个是 Jquery 表单 ajaxSubmit。对于正常的 ajax 提交,代码工作正常,但现在我也必须发布一个文件。所以我正在使用 ajaxSubmit。当我运行它时,我在浏览器控制台上收到错误“TypeError: e.preventDefault is not a function”。

请不要将此标记为重复问题,因为关于同一主题的其他问题的答案对我不起作用。

<script type="text/javascript">
    $(document).ready(function() {

        $("#addpost").validate({
            rules: {
                subject: "required",
                comment: "required"
            },
            messages: {
                subject: "Please enter a subject",
                comment: "Please enter some details",                   
            },
            submitHandler: function(e){
                e.preventDefault();
                $.ajaxSubmit({
                    url: '/addpost',
                    type: 'post',
                    dataType: 'html',
                    data : $( "#addpost" ).serialize(),
                    success : function(data) {
                        location.reload();
                    }
                });
            }
        });     

    }); 
</script>

我的问题的解决方案是按如下方式更改提交处理程序:-

submitHandler: function(form){
    $(form).ajaxSubmit({
            url: '/addpost',
            type: 'post',
            dataType: 'html',
            data : $( "#addpost" ).serialize(),
            success : function(data) {
                location.reload();
            }
     });
    return false
}

希望这会对某人有所帮助。

最佳答案

我不确定您是否会在提交处理程序中使用 e.preventDefault()

删除该行并在您的 ajax 提交之后添加 return false;。 这将阻止提交表单。

关于javascript - TypeError : e. preventDefault 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36034493/

相关文章:

java - 使用 Ajax 调用将 Cordova 9 移动应用程序连接到 Java Web 服务

javascript - 如何将JSON格式的日期字符串解析成日期格式

javascript - 如何简化长的 javascript switch case 语句?

javascript - 当鼠标悬停在某个元素上时,我想显示一小段文本,例如 "Get Info"

javascript - 从另一个数组创建一个新数组

javascript - jQuery UI布局插件OVERFLOW设置

javascript - TypeError : webcam. 捕获不是使用 jQuery 网络摄像头的函数

javascript - 选择在移动设备上提取错误信息的按钮

javascript - 在 jQuery AJAX 加载后重新触发某些脚本

javascript - MediaElementJS 播放器 + 重新加载 HLS 流 - 任何解决方案?