无法获取输入字段 JS 的值

Cannot get value of input field JS

我对 JS 和 HTML 很陌生,所以我很抱歉。 我在尝试使用 pattern='' 属性验证输入到表单字段时遇到了 运行 麻烦。尽管它捕获无效输入并给出相应的错误消息,但随后对输入的修改不会更改错误消息。例如,

如果用户在字段中输入 "testing2",

pattern="[a-zA-Z]" 将生成相应的消息。但是,如果用户将条目编辑为 "testing",我仍然会收到验证错误。

为了解决这个问题,我尝试将字段输入记录到控制台。 所以,在 HTML:

<input class="dest_one_key" name="dest_one_key" type="text" id="dest_one_key" required="" placeholder="Work">

然后:

<script> var v = document.getElementById('dest_one_key').value; document.getElementById('dest_one_key').addEventListener('change', function() { console.log(值:${v}); }); </script>

...产生

"Value: "

在控制台中。 所以表单似乎没有捕获用户输入。

我在以下方面做错了什么: 1)在无效输入后无法正确注册用户具有有效输入 2) 将字段的值记录到控制台?

由于您的脚本 运行 只有一次,因此 v 变量将为空。您需要在您的活动中使用 event.target.value 随着时间的推移更改它。像这样:

var v;

document.getElementById('dest_one_key').addEventListener('change', function(event) {
    v = event.target.value;
    console.log('Value: ' + v);
});
<input class="dest_one_key" name="dest_one_key" type="text" id="dest_one_key" required="" placeholder="Work">