简单记录下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="aaaa" /><br />
Last name: <input type="text" name="LastName" value="bbbbb" /><br />
<select name="select" id="">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br>
<input type="radio" name="radio" value="水果">水果
<input type="radio" name="radio" value="蔬菜">蔬菜
<input type="radio" name="radio" value="其他">其他
<br>
<input type="checkbox" name="checkbox" id="" value="a">a
<input type="checkbox" name="checkbox" id="" value="b">b
<input type="checkbox" name="checkbox" id="" value="c">c
<input type="checkbox" name="checkbox" id="" value="d">d
<br>
<input type="date" name="date" id=""><br>
<input list="datalist" name="datalist">
<datalist id="datalist">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
</form>
<button>拿数据</button>
</body>
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
//serialize() 用个方法 所有的form标签必须设置name属性,name为key,value为值
var value=$("form").serialize().split('&')
//form表单的所有数据
var list={}
var checkboxList=[]
for(let i in value){
if(value[i].split('=')[0]=="checkbox"){
//checkbox 复选框单独处理 暂时先组合成数组
var checkboxVal=value[i]
checkboxList.push(checkboxVal.split('=')[1])
list[value[i].split('=')[0]]=[...checkboxList]
}else{
//decodeURIComponent 对拿到的值进行解码,防止拿到的值为中文显示不出来
list[value[i].split('=')[0]]=decodeURIComponent(value[i].split("=")[1])
}
}
console.log(list);
});
});
</script>
</html>