需要有关 getInput 函数的帮助

Need help for a getInput function

我的 javascript 代码一直有问题。

<!DOCTYPE html>
<html>
    <head>
        <title>js-game</title>
        <script src="script.js" type="text/javascript"></script>
        <script src="story.js" type="text/javascript"></script>
        <link href="style.css" rel="stylesheet" type="text/css"/>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div id="game">
            <ul id="output">
                <li onclick="main()">Click here to start!</li>
            </ul>
            <input autofocus id="inputLine" type="text">
            <p onclick="" id="enterInput">ENTER</p>
        </div>
    </body>
</html>



// Variables
var log="<li>Hello</li>";
var lastVar="";

// Functions
function getInput() {
    document.getElementById("enterInput").addEventListener("click", function() {
        return document.getElementById("inputLine").value;
        document.getElementById("inputline").value="";
    });
}
function output(output) {
    log=log + "<li>" + output + "</li>";
    document.getElementById("output").innerHTML=log;
}
function main() {
    output("What's your name?");
    alert(getInput());
}

正如您可能看到的那样,我想从 ID 为 inputLine<input type="text"> 获取输入。还有一个 id 为 enterInput.

的按钮

但是我得到的都是未定义的,我已经为此工作了很长时间,所以我很沮丧。

抱歉英语不好。

尝试这样做:

document.getElementById("enterInput").addEventListener("click", getInput );

function getInput() {
    var val = document.getElementById("inputLine").value;
    //do something with val
    document.getElementById("inputLine").value="";
    return val;
}

this demo


或者使用 getInput() 将其作为变量获取:

document.getElementById("enterInput").addEventListener("click", function(event){
    var val = getInput();
    alert(val);
});

function getInput() {
    var val = document.getElementById("inputLine").value;
    document.getElementById("inputLine").value="";
    return val;
}

this demo