【发布时间】:2013-09-30 08:39:46
【问题描述】:
我需要使用多种文件输入类型上传多个文件。我知道这可以通过CTRL+单击文件的一种输入类型来完成。我使用 perl 作为我的后端部分。
<form action="dsadsa" method="post" enctype="multipart">
<tr>
<td>
<input type="file" id="file_upload" name="file_upload" multiple >
</td>
</tr>
<tr>
<td>
<input type="file" id="file_upload" name="file_upload" multiple>
</td>
</tr>
<tr>
<td>
<input type="file" id="file_upload" name="file_upload" multiple>
</td>
</tr>
<tr>
<td>
<input type="file" id="file_upload" name="file_upload" multiple>
</td>
</tr>
<tr>
<td>
<input type="file" id="file_upload" name="file_upload" multiple>
</td>
</tr>
<tr>
<input type="submit" />
</form>
这是我的 HTML 部分。
我使用 ajaxForm 插件上传文件。
var options = {
beforeSend: function () {
},
uploadProgress : function (event, position, total, percentComplete) {
},
success : function (data) {
},
error : function (response) {
},
};
$('#myForm').ajaxForm(options);
但它无法获取任何参数(file_upload)
以防万一你想看看我的 perl 方面:
if ($path eq 'dsadas') { #this is the path in the action part in the form
my @fhs = cgi->upload('file_upload'); # this is what im talking about, this should get all the files. I also tried using trim_param() instead of cgi->upload.
}
【问题讨论】:
-
你的意思是
$cgiincgi->upload('file_upload')? -
不,但这也可能意味着。
-
您的 html 无效(enctype/formid),您的 javascript 无效(formid),您的 perl 无效(小写“cgi”)——验证您的 html(validator.w3.org),以及复制/粘贴并注意拼写错误
-
我的html和javascript无效是什么意思?
-
我的意思并不多。 enctype 属性无效,请参阅 developer.mozilla.org/en-US/docs/Web/HTML/Element/form 。你的表单没有 id,所以
$('#myForm')不会做任何事情——你从 ajaxform 教程中复制了它,但你没有复制 html——所有这些细节都很重要