无法获得输入字段的值JS
问题描述:
我对JS和HTML非常陌生,所以我很抱歉。 我尝试使用pattern =''属性验证表单字段的输入时遇到了麻烦。虽然它会捕获无效输入并提供相应的错误消息,但后续输入修改不会更改错误消息。例如,无法获得输入字段的值JS
pattern="[a-zA-Z]"
将生成适当的消息,如果用户在该字段中输入“testing2”。但是,如果用户将条目编辑为“测试”,我仍然会收到验证错误。
在试图解决这个问题时,我试图将输入栏输入到控制台。 所以,在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>
...这yeilds
“值:”
在控制台中。 所以表单似乎并没有捕获用户的输入。
我在做什么错了: 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">
我想你想要的东西了这样的事:https://*.com/questions/20287650/html5-input-validate-letters-and-numbers?answertab =活动 – jgatjens
下面是一个简单的例子: https://jsbin.com/natociy/2/edit?html,js,console,output – jgatjens
是的!这解决了接受用户编辑页面的问题。 (我搜遍了整个地方,这从来没有提到的正则表达式)。为什么我会遇到问题2)? – sarkon