javascript - 使用 JavaScript 在 HTML 表单字段中传递二维数组

标签 javascript php html arrays multidimensional-array

阅读之前:这个问题的前几段是我详细解释情况的背景。如果您只想回答这个问题,请跳至底部的“问题”。

我目前正在为一个网站开发一项功能,允许用户上传和共享专业文档。其中包括 .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/

相关文章:

javascript - JavaScript 中 "==="运算符的名称是什么

javascript - 禁用浏览器页面的特定事件

javascript - 在 vue.js 组件中操作 props

php - 我可以运行单个 SELECT 而不是两个嵌套的 SELECT 来链接两个表,省略重复项,并在它们匹配时返回值吗? MySQL/PHP

javascript - 当有两个或多个具有相同 ID 时操作正确的 <div>

javascript - dc.js d3+crossfilter.top 将过滤后的数据导出到CSV

PHP PDO连接和sql查询

php - 从 MySql 查询多个值获取 True/False 结果

javascript - 如何在 Windows 7 操作系统机器上的 asp.net 中构建 Windows 8 移动应用程序?

c# - 如何在 C# 中获取呈现的 HTML 文档的高度