FormData jquery没有';行不通 varf='1\ \ \ 输入名称:\ \ \ \ 输入帐号:\ \ \ \ 上载文件:\ \ \ \ \ '; 文件。编写(f); var test=document.getElementById('myForm'); 控制台日志(测试); var form_data=新FormData(测试);
我尝试使用FormData从所有字段收集所有数据。 为什么,为什么它不起作用?FormData jquery没有';行不通 varf='1\ \ \ 输入名称:\ \ \ \ 输入帐号:\ \ \ \ 上载文件:\ \ \ \ \ '; 文件。编写(f); var test=document.getElementById('myForm'); 控制台日志(测试); var form_data=新FormData(测试);,jquery,forms,Jquery,Forms,我尝试使用FormData从所有字段收集所有数据。 为什么,为什么它不起作用? Formdata为空…您可以使用jQuery方法.serializeArray()为此,非常简单,例如: var f = '\ <form id="myForm" name="myForm">\ <div>\ <label for="username">Enter name:</label>\ <input type="text
Formdata为空…您可以使用jQuery方法
.serializeArray()
为此,非常简单,例如:
var f = '\
<form id="myForm" name="myForm">\
<div>\
<label for="username">Enter name:</label>\
<input type="text" id="username" name="username">\
</div>\
<div>\
<label for="useracc">Enter account number:</label>\
<input type="text" id="useracc" name="useracc">\
</div>\
<div>\
<label for="userfile">Upload file:</label>\
<input type="file" id="userfile" name="userfile">\
</div>\
<input type="submit" value="Submit!">\
</form>\
';
document.write(f);
var test = document.getElementById('myForm');
console.log(test);
var form_data = new FormData(test);
通过这种方式,您可以收集除文件之外的所有输入值。要获取文件,可以使用类似$('#userfile').prop('files')代码>
以下是工作片段:
varf='1\
\
\
输入名称:\
\
\
\
输入帐号:\
\
\
\
上载文件:\
\
\
\
\
';
文件。编写(f);
函数collectData(){
var form_data=$('#myForm').serializeArray();
var file=$('#userfile').prop('files');
表单_data.push(文件);
console.log(form_数据);
}
表单数据是在用户输入数据之前创建的。我已经更新了答案,看起来好像是在玩把戏,检查一下,我的意思是。。。。输入是空的……OP说“我试图从所有字段收集所有数据”。您的解决方案是在表单仍然为空时获取值。使用type=“button”
和value=“Get the form values”
(而不是“submit”…因为它根本没有提交…),这将是一个正确的答案。@louyspatricebesette,是的,但如果要使用type=“button”
,表单立即提交,我们没有看到控制台.log
。没有<代码>
未提交<代码>
和你好
都有。而且,你好
没有。@louyspatricebesette,谢谢你的更正,我不知道。我已经更新了答案。
$('form').serializeArray();