无法获得输入字段JS

时间:2017-10-14 20:39:14

标签: javascript html sinatra rack

我是JS和HTML的新手,所以我道歉。 我尝试使用pattern =''属性验证输入到表单字段时遇到了麻烦。虽然它捕获了无效输入并提供了相应的错误消息,但后续修改输入不会更改错误消息。例如,

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

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

在尝试解决这个问题时,我尝试将字段输入记录到控制台。 所以,在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>

......哪些是

“价值:”

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

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

1 个答案:

答案 0 :(得分:1)

由于您的脚本只运行一次,因此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">