我想用ajax提交表单。我从使用 FormData 中获取数据,如下所示:
var data = new FormData($(this)[0]);
Run Code Online (Sandbox Code Playgroud)
表单的输入之一是 HSV 格式的颜色值。我想将其转换为十六进制值。我有一个 jquery 函数来转换它,但我不知道如何在 FormData 中操作它的值。
另一个问题是:如何从 FormData 中删除某些字段(键、值)?
要按字段名称获取值,请使用get ()。
data.get('color');
Run Code Online (Sandbox Code Playgroud)
如果有多个值共享相同的字段名,请使用getAll ()。
data.getAll('colors');
Run Code Online (Sandbox Code Playgroud)
要按字段名称替换值,请使用set ()。
data.set('color', '#abcdef');
Run Code Online (Sandbox Code Playgroud)
重要的是要注意,当字段名称存在时,set()替换 while 会append()附加。从文档:
该接口的
set()方法为对象FormData内的现有键设置新值FormData,或者如果键/值不存在则添加该键/值。
set()和之间的区别在于FormData.append,如果指定的键已经存在,set()则将使用新值覆盖所有现有值,而FormData.append将新值附加到现有值集的末尾。
要按字段名称删除值,请使用delete ()。
data.delete('color');
Run Code Online (Sandbox Code Playgroud)