html 根据JS中的选项列表检查用户输入的值

liwlm1x9  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(103)

给定文本输入,用户可以通过提交点击按钮Enter键提交答案:

</div>
<div class="answer">
<input type="text" placeholder="Enter your answer" class="answer_text" id="answer_text_box">
<input type="button" value="Answer"  class="submit_button" id="answer_submit_button">
</div>

我想在用户提交答案后获取用户输入的文本值,可能会将其与项目列表list_options进行比较。
这里是我干活的地方;由于我对JS非常陌生,我想到将值写入html文档中的保持器标记,然后重新读取html文件并获取值..这似乎效率不高,因为我已经通过**.addEventListener**获取了值:

<div class="user_answer" id="user_answer_for_js"></div>

以下是我在JavaScript中的工作:

const answer_area = document.getElementById('answer_text_box');
const answer_btn = document.getElementById('answer_submit_button');

let list_options = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];


// Load all events listerns
loadEventListeners();
// Load all events listerns

function loadEventListeners() {
    // Submit answer via submit button:
    answer_btn.addEventListener('click', submitButtonClick);
    // Submit answer via enter key:
    answer_area.addEventListener('keyup', submitEnterKey);
    }

function submitButtonClick(e) {
    let user_answer = answer_area.value;
    document.getElementById("user_answer_for_js").textContent = user_answer.trim();
    console.log(`Submit Via Enter Button: ${user_answer}`);
    e.preventDefault();
}

function submitEnterKey(e) {
    if (e.keyCode === 13) {
            let user_answer = answer_area.value;
            document.getElementById("user_answer_for_js").textContent = user_answer.trim();
            console.log(`Submit Via Enter Key: ${user_answer}`);
            e.preventDefault();
        }
    }
lqfhib0f

lqfhib0f1#

    • 1.要获取用户答案**你必须在html元素加载后加载你的脚本。现在你的代码正在获取一个尚未加载的html元素。

为此,请将您的<script>标签放在您的<body>标签的结尾之前:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  
</div>
<div class="answer">
  <input type="text" placeholder="Enter your answer" class="answer_text" id="answer_text_box">
  <input type="button" value="Answer" class="submit_button" id="answer_submit_button">
</div>

<div class="user_answer" id="user_answer_for_js"></div>
<script src="index.js"></script>
</body>

</html>
let list_options = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];

let user_answer = "January";
list_options.includes(user_answer); # False

user_answer = "Monday";
list_options.includes(user_answer); # True

希望能有所帮助!

相关问题