博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uncaught TypeError: form.attr is not a function 解决办法
阅读量:7080 次
发布时间:2019-06-28

本文共 2008 字,大约阅读时间需要 6 分钟。

前端form表单提交时遇到个问题,一直报错如下

首先说结论:form是个js对象,不是jQuery对象,不能用jquery对象的方法。

代码是:

$(document).ready(function() {            //$("#name").focus();            $("#inputForm").validate({                onfocusout: function(element){                    $(element).valid();                },                submitHandler: function(form){                    loading('正在提交,请稍等...');                    $.ajax({                        url:form.attr("action"),                        type:form.attr("method"),                        data:form.serialize(),                         success:function(res){                                                      if(res.type=='success'){                              showTip(res.content);                                                          var d = parent.dialog.get('distributeFund');                                  setTimeout(function(){                                    d.close(res.type);                                   }                              ,2000);//单位毫秒                                                          }                        },                        error:function(e){                            alert(e.type);                        }                    })                },                errorContainer: "#messageBox",                errorPlacement: function(error, element) {                    $("#messageBox").text("输入有误,请先更正。");                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){                        error.appendTo(element.parent().parent());                    } else {        //                error.insertAfter(element);                        error.appendTo(element.next());                    }                }            });        }); 一开始以为是form没定义,找了半天也解决不了。最后看chrome的sources栏,form不是undefind的样子。 主要是因为,这里传入的form是js对象,而form.attr()的用法是jquery的方法。报错日志路径中也是提示了是jQuery的错误。所以把ajax里的form改为$(form),由js对象改为jQuery对象,方法就能正常使用了。

转载于:https://www.cnblogs.com/shm-1255/p/10020775.html

你可能感兴趣的文章
UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据
查看>>
【转载】pygame的斜线运动
查看>>
How to measure IOPS for VMware
查看>>
GNU风格 ARM汇编语法4
查看>>
poj2148
查看>>
jQuery实现侧边导航栏效果
查看>>
javascript使浏览器关闭前弹出确认
查看>>
apache 启动不了
查看>>
为什么晋升的不是你?
查看>>
给SharePoint页面加入自己定义页脚Custom footer
查看>>
Android 布局之LinearLayout 子控件weight权重的作用详析
查看>>
MVC 5 的 EF6 Code First 入门
查看>>
我的Eclipse快捷键.
查看>>
Codeforces Round #248 (Div. 1) B. Nanami's Digital Board 暴力 前缀和
查看>>
工作中常用的英文单词缩写
查看>>
bufferedReader 乱码问题
查看>>
Ubuntu16.04最快捷搭建小型局域网Git服务器
查看>>
Android--去除EditText边框,添加下划线,
查看>>
MapReduce类型与格式(输入与输出)
查看>>
SQL Server存储过程中使用表值作为输入参数示例
查看>>