可以'无法从现有表单中生成FormData对象
Can't build a FormData object out of existing form
我正试图从页面上的表单中构建一个FormData对象。我得到了这样的表单元素:
var form = document.forms['upload_form'];
然后我构建这样的FormData对象:
var fd = new FormData(form);
由于无法在FormData对象中记录值(如本文所述),我将表单数据发送到"/",以便在网络检查器中查看其内容。请求有效载荷的内容很简单:
------WebKitFormBoundaryKAgAjii8IMLyJFcB--
什么都没有!如果我手动将一个值附加到表单中,如下所示:
fd.append("username", "Groucho");
它起作用:
------WebKitFormBoundaryZikgEBo7sTzvlndC
Content-Disposition: form-data; name="username"
Groucho
我还尝试过以其他方式选择表单元素,例如使用jQuery:
var form = $(".upload_form");
var fd = new FormData(form[0]);
无论我如何选择表单元素,表单变量中肯定有表单(它不是null或空的),但用它作为参数构建FormData对象似乎不起作用。有人能帮忙吗?
PS我使用的是Chrome 31.0.1650.57。我也在Safari7.0中尝试过,结果也是一样的。
另一件事:此表单中的输入嵌套在多个div中。这会是个问题吗?
之所以发生这种情况,是因为我的输入上没有设置name
属性。显然,new FormData()
和$.serialize()
将忽略任何没有名称的输入。
相关文章:
- 将表单对象保存到具有主干.js的模型
- 从JQuery到Javascript函数获取表单对象
- 如何创建 XMLHttpRequest FormData 表单对象
- 转换使用 data() 保存的字符串表单对象
- AngularJS 模态对话框表单对象在控制器中未定义
- “blur”事件是否仅针对 HTML 表单对象触发
- 弹簧更改提交,表单对象为空
- Jqtransform 针对特定的表单对象(不是全部)
- AngularJS验证引用具有变量名称的表单对象
- 触发标准“;改变“;表单对象上的事件-由其上的任何侦听器拾取
- 表单元素覆盖表单对象的默认属性
- 表单对象中的换行符
- Typescript AngularJS访问表单对象
- 在jquerypost中同时传递表单对象和一个变量
- 在位置更改时将表单对象发送到页面
- 从返回的表单对象中读取InnerHTML
- jQuery中给定表单对象,测试表单元素是否为空
- 如何获取元素被点击的表单对象
- Extjs -如何使用Ext.util.Observable来获取所有表单对象的事件点击
- angular表单对象是否提供了一种获取相关DOM节点的方法?