【发布时间】:2021-12-22 21:09:31
【问题描述】:
我看到了一些与此相关的问题,但几乎所有问题都使用php。我只有一个简单的 html 文件,带有一个输入和一个按钮。我尝试过使用建议的解决方案,但在使用按钮提交表单后,我总是收到错误消息。我已经包含了以utf-8 结尾的字符。我也有<meta charset="utf-8" />,但在看到关于 SO 的其他解决方案时发表了评论,但我已实施但无济于事。
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<script src="index.js"></script>
<title>My Page</title>
</head>
<body>
<form name="data-form" enctype="multipart/form-data" method="post">
<input type="file" id="file-input">
<button id="form-btn" type="submit">Load File</button>
</form>
</body>
</html>
根据我的初步了解,这样读取文件应该没问题。我正在尝试上传 JSON 文件,不确定是否是问题所在。这是一个有效的 JSON,我已经检查并仔细检查了。
链接的index.js文件,目前无论如何都不会与文件上传交互,所以为了简洁起见,我没有包含它。
编辑
我想我“解决了”这个问题。更像是绕过它。我编写了一个 JS 函数 (readFile()) 以在点击时读取,并将按钮的类型更改为 type="button" 并放置一个 onclick="readFile()",现在它可以正确读取文件并执行。希望这可能会帮助遇到类似问题的其他人。我想这可以关闭。
【问题讨论】:
-
你从哪里得到错误?浏览器控制台?表单处理程序?您需要表单上的
action属性还是通过 JavaScript 发送? -
是的,它显示在控制台中。我不使用 JS 发送它(至少现在还没有)所以也许我确实需要一个
actionattr。我会阅读 MDN 文档,看看这是否会带来启发。 -
如果您不通过 JS 发送表单,该错误如何显示在浏览器控制台中?网络标签也很有帮助。
-
我不知道,如果我这样做了,我可能不会在这里问这个问题。 javascript 文件目前什么都不做,因为没有任何函数被“插入”到
index.html。如果我更改按钮type="button"我不会收到错误消息,但也没有任何反应。我不确定这是好是坏。 -
好吧,我只是想让你自己理解。看来你解决了你的问题。 ??????????
标签: html