【问题标题】:how to modify formData jqueryjquery如何修改formData
【发布时间】:2015-08-31 13:49:14
【问题描述】:

我想用 ajax 提交一个表单。我像这样使用 FormData 获取数据:

var data = new FormData($(this)[0]);

表单的输入之一是 HSV 格式的颜色值。我想将其转换为十六进制值。我有一个 jquery 函数来转换它,但我不知道如何在 FormData 中操作它的值。

另一个问题是:如何从 FormData 中删除一些字段(键、值)?

【问题讨论】:

  • 请发布整个代码,因为您的问题在那里不清楚
  • 我的代码是一个简单的 ajax 表单提交。我使用 FormData() 获取数据。我想操作 FormData() 中的表单输入值。
  • 也许这会对你有所帮助:stackoverflow.com/a/8244082/3452348
  • 没有。我需要从 Formdata 中提取值,而不是追加。
  • 我还不能访问 FormData() 的值。但我可以使用 append(key, value) 覆盖值。谢谢zlen先生

标签: jquery ajax forms


【解决方案1】:

要按字段名称获取值,请使用get()。

data.get('color');

如果有多个值共享同一个字段名,请使用getAll()。

data.getAll('colors');

要按字段名称替换值,请使用set()。

data.set('color', '#abcdef');

请务必注意,当字段名称存在时,set() 会替换,而append() 会追加。来自文档:

FormData 接口的set() 方法为FormData 对象内的现有键设置一个新值,如果键/值不存在,则添加它。

set()FormData.append 之间的区别在于,如果指定的键已经存在,set()用新的值覆盖所有现有值,而 FormData.append将新值追加到现有值集的末尾。

要按字段名称删除值,请使用delete()。

data.delete('color');

【讨论】:

    【解决方案2】:

    警报('我'); 跳过一行并缩进八个空格。 这是列表的四个空格 和四个触发代码块。

    【讨论】:

    • 虽然这不是一个答案,但请使用评论部分提出其他或补充问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多