我已经坚持了一段时间,试图将SO和Google排除在外,但所有这些答案似乎都无法阻止我的问题。我要做的就是防止上传文件后重新加载页面,因为它会重置我想写的动态HTML。
这是HTML:
<form id = "fileForm" action = "/upload" method = "post" enctype = "multipart/form-data" target = "hiddenIFrame">
<iframe id = "hiddenIFrame" name = "hiddenIFrame" style = "display: none"></iframe>
<input type = "file" id = "fileInput" name = "uploadFile" accept = ".txt"/>
</form>
这是JS:
document.getElementById("fileInput").onchange = function(e) {
document.getElementById("fileForm").submit();
};
然后,所有操作就是调用我的后端/ upload Express调用,该调用将其上传到可以正常工作的服务器,它只是刷新/重新加载页面。
我尝试了许多不同的方法来解决这个问题,但不知道为什么它不起作用。
任何帮助表示赞赏。
谢谢!
最佳答案
这不是直接回答您的问题,而是您可以与服务器通信(上传文件),而无需以传统方式提交表单,然后根据上传的方式动态更新HTML。
阅读有关https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX和https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest的信息
关于javascript - 防止表单提交后重新加载页面。 e.preventDefault()和隐藏的iFrame不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49262554/