如下所示,表单加了name属性,其他都没加,表单是没有问题的,查了网上的说要加readonly属性,加了根本就无法输入,不适用当前,多番试验,发现不用箭头函数就行了,难道是jq不支持es6???,但是如果注释掉serializeArray()函数,下面的return false又确实能阻止表单的提交。
//为表单添加提交事件
$('#loginForm').on('submit',()=>{
//获取表单中用户输入的信息
//返回的是一个数组[{name:'email',value:'value'}]
var f = $(this).serializeArray()
console.log(f);
//阻止表单默认提交的行为
return false
})
改成function(){}形式,可以输出
//为表单添加提交事件
$('#loginForm').on('submit',function(){
//获取表单中用户输入的信息
//返回的是一个数组[{name:'email',value:'value'}]
var f = $(this).serializeArray()
console.log(f);
//阻止表单默认提交的行为
return false
})
补档,查看别人的博客说是箭头函数没有自身的this,这样就解释得通了,$(this)无法取到想让他取到的值,所以输出了空数组
https://segmentfault.com/a/1190000007074846
里面讲解了什么时候不能用箭头函数
添加链接描述
https://blog.csdn.net/qq_38774121/article/details/88038785