阅读之前:这个问题的前几段是我详细解释情况的背景。如果您只想回答这个问题,请跳至底部的“问题”。
我目前正在为一个网站开发一项功能,允许用户上传和共享专业文档。其中包括 .doc、.txt、.xlsx、.pdf 等文档...
在上传文档之前,用户可以选择重命名它们。这是为了帮助其他用户找到该文件,以便将其重命名为“psychologyStatistics.docx”之类的名称,而不是“Johns_File.docx”之类令人困惑的名称。
我已经设置了表单...
<form name="uploadFiles" action="submitFiles.php">
<input type="file" name="file_input" multiple>
<input type="submit">
</form>
注意多个。
我还有一个动态文本字段列表,用户将使用它来重命名文件。这是使用一些 JavaScript 完成的,但我不打算将其发布在这里,因为它相当令人困惑并且对解决问题没有帮助。
不幸的是,我不能简单地在 JavaScript 中重命名文件,如下所示:
object.files[].name = newName; // cannot be done because .name is read-only
问题:我需要使用另一个用户输入文件名的二维数组将文件数组移动到 PHP。 PHP 以某种方式需要知道哪些文件连接到哪些文件名。因此我将使用 PHP 的 $_FILES['file']['name']
连接它们使用 javascript 的 object.files[].name
。我将通过传递带有 object.files.name
的二维数组来完成此操作。作为字段 1 和 newNames
作为字段 2。
问题:如何使用 JavaScript 或其他必要的工具在表单输入字段中传递二维字符串数组?类似 <input type="text" name="names[][]" multiple>
会完美地工作,但这显然是不可能的。如果二维数组 100% 不可能,那么一维数组也可能可行。
谢谢大家。如果有任何事情需要澄清,请继续询问。
编辑:Javascript将从单独的表单中获取文本字段,并将它们添加到主上传表单内的新输入字段中。问题实际上是让它们以有组织且相对干净的方式进入主要上传表单。因此我正在考虑做一个二维数组。
最佳答案
看来不可能通过单个输入字段传递数组。
但是,具有相同名称的多个输入字段将被 PHP 解释为单个数组。因此,需要使用多个同名的输入字段将数组从 HTML 表单传递到 PHP 文件。
关于javascript - 使用 JavaScript 在 HTML 表单字段中传递二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314243/