在我的动态单页 Web 应用程序上创建允许用户上传图像的功能时,我遇到了一个很大的问题。为了简化和找到问题的根源,我进行了功能简化。现在所有的功能都是从表单中获取值并将它们显示在控制台中,但目前它似乎只是重新启动页面并返回主页。这个错误非常令人困惑,因为我已经为我的其他一些页面编写了完全正常工作的函数。我为这个函数使用了与那些函数类似的代码结构,但它什么也没做。我知道我发布的代码数量可能不足以理解错误,但我不喜欢在此处发布大量代码,但我愿意通过聊天向他们展示。谢谢你。 客户端.js
.
.//code for other pages functions
.
async function ImageHandler(event){
event.preventDefault();
var name =document.getElementById('username').value;
var title =document.getElementById('titleofimage').value;
console.log(name);
console.log(title);
imgform.reset();
}
const imgform= document.getElementById("image-form");
imgform.addEventListener("submitImage", ImageHandler);
索引.html
<html>
<body>
<main>
<div class='Page' id='pictures'>
<h1>pictures</h1>
<form id='image-form'>
<div class='form-group'>
<label for='username'>username</label>
<input class='form-control' name='name' id='username' required>
</div>
<div class='form-group'>
<label for='titleofimage'>Tile</label>
<input class='form-control' name='title' id='titleofimage >
</div>
<input type='file' id='image' required><br>
<button type='submitImage' class='btn btn-primary'>submit Image</button>
</form>
</div>
.(//other pages code)
.
.
</main>
<script src='client.js'></script>
</body>
</html>
你在其中一个输入中缺少撇号:
titleofimage' >
正如@charlietfl 提到的,要提交表单,你只能使用按钮类型submit
,submitImage
不起作用。你也可以省略它,因为表单中的按钮将始终提交它。
同样的事情需要在js文件中更正,imgform.addEventListener("submit", ImageHandler)
而不是..submitImage...