使用回车键提交输入字段

submit input field using enter key

我正在构建天气应用程序并希望使用 Enter 键将城市名称提交到服务器。 我收到错误

submit is not a funtion

我想解决这个问题,我想知道如何将值发送到快速服务器以便在 API 调用中使用它。 这是我的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Weather APP</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <input id="City" placeholder="EnterCity" onclick="u()" action="/" method="post">
</body>
<script>
    function u(){
            document.getElementById("City").addEventListener("keyup", function(event) {
    if (event.keyCode === 13) {
        var x = document.getElementById("City");
        x.submit();
        return false;
    }
});
}
</script>
</html>

尝试将 input 放入表单标签中,然后提交表单而不是输入标签

...
<body>
    <form id="CityForm" onsubmit="u()" action="/" method="post">
        <input id="City" placeholder="EnterCity" />
    </form>
</body>
<script>
    function u(){
            document.getElementById("City").addEventListener("keyup", function(event) {
    if (event.keyCode === 13) {
        var x = document.getElementById("CityForm");
        x.submit();
        return false;
    }
});
}
</script>
...

您提交的是表单,而不是单个输入元素。在您的输入元素上,您可以执行类似 onChange 的操作,每次输入标签获取输入时都会 运行,但实际提交由表单处理