我有一个表格:(简化版)
<form class="form-inline" id="parts-form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="import-parts">Import:</label>
<input type="file" id="import-parts" />
</div>
</form>
与其他输入(仅文本/选择)一起使用-提交效果很好,但是我有一些jQuery可以检测是否有文件或输入是否满足X量:
if ($('#import-parts')[0].files[0]) {
form.attr('action', parts_url+ 'output-screen.php');
form.submit()
} else {
if (i > 0) {
form.attr('action', parts_url+ 'output-screen.php');
form.submit()
} else {
alert('Error! You must have at least one part selected. Please try again.')
}
}
条件是正确的(我知道这是因为我被带到output-screen.php),但是这样做:
<div class="row">
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
echo '<pre>';
print_r($_FILES);
echo '</pre>';
?>
</div>
在output-screen.php中返回空数组-我的代码有什么问题?为什么没有显示我的期望? jQuery .submit()
是否缺少我不知道的东西?
编辑:
为了进一步说明,它是一个csv文件(目的是读取CSV并使用其中的数据)
答案 0 :(得分:0)
所以这是一个愚蠢的问题-表单输入需要一个name
属性。
ref:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#Attributes
将输入修改为:
<input type="file" name="input" id="import-parts" />
可以,现在我可以使用$_FILES
来查看我的数据了。感谢@kerbholz带领我朝着正确的方向前进。