使用回车键提交输入框

3

我正在开发一个天气应用程序,并想使用回车键将城市名称提交到服务器。但是,出现了以下错误:

submit不是一个函数

我想解决这个问题,并且我想知道如何发送值到Express服务器以便在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>
1个回答

2
尝试将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 这样的操作,每当输入标记获得输入时都会运行,但实际提交由表单处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接