FormData对象
FormData对象用以将数据编译成键值对,以便用XMLHttpRequest
来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype
属性设为multipart/form-data ,则会使用表单的submit()
方法来发送数据,从而,发送数据具有同样形式。
你可以自己创建一个FormData
对象,然后调用它的append()
方法来添加字段,像这样:
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456); //数字123456会被立即转换成字符串 "123456"
// HTML 文件类型input,由用户选择
formData.append("userfile", fileInputElement.files[0]);
通过HTML表单创建FormData对象节
想要构造一个包含Form表单数据的FormData对象,需要在创建FormData对象时指定表单的元素。
var formData = new FormData(someFormElement);
常用的表单赋值:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<input type="" name="Q" class="test" value="1">
<input type="" name="A" class="test" value="2">
<input type="" name="C" class="test" value="3">
<input type="" name="D" class="test" value="4">
<script type="text/javascript">
//创建一个空对象
var obj = {};
$(".test").each(function(k,v){
//赋值
obj[v.name] = v.value;
})
</script>
</body>
</html>
拼接字符串:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form>
<input type="" name="Q" class="test" value="1">
<input type="" name="A" class="test" value="2">
<input type="" name="C" class="test" value="3">
<input type="" name="D" class="test" value="4">
</form>
<script type="text/javascript">
//创建一个空对象
var str = "";
$(".test").each(function(k,v){
str+=$(this).val()+";";
})
//去除最后一个;
str = str.substring(0,str.length-1);
</script>
</body>
</html>