Javascript 检查ByClassName时未定义的输入值
我正在尝试使用纯JavaScript按类名查找输入的值。当我为和ID运行类似的代码时,它可以工作,但当我尝试使用类名时,它返回undefined。我可以用jQuery实现这一点,但我想用纯JavaScript实现这一点,以便更好地理解该语言。谢谢大家! JAVASCRIPTJavascript 检查ByClassName时未定义的输入值,javascript,Javascript,我正在尝试使用纯JavaScript按类名查找输入的值。当我为和ID运行类似的代码时,它可以工作,但当我尝试使用类名时,它返回undefined。我可以用jQuery实现这一点,但我想用纯JavaScript实现这一点,以便更好地理解该语言。谢谢大家! JAVASCRIPT var input1 = document.getElementsByClassName("blank1"); var submit = document.getElementsByClassName("submit");
var input1 = document.getElementsByClassName("blank1");
var submit = document.getElementsByClassName("submit");
correctAnswer = 'hello';
submit[0].addEventListener('click', checkFillIn);
function checkFillIn(){
if ( input1[0].value === correctAnswer ){
console.log('correct!');
}else{
console.log('incorrect');
}
}
HTML
<p><input id="blank1" value="" type="text"></input></p>
<a href="#" class="submit">Submit</a>
代码中的错误出现在第1行,在那里您可以获得javascript中的第一个元素。应该是:
var input1=document.getElementById(“blank1”)代码>
这是因为blank1是一个ID,而不是类名。
希望这有帮助 请在输入元素上添加class属性。见下例:
<input id="blank1" class="blank1" value="" type="text">
当然,您不希望使id与class属性相同。您需要更改var input1=document.getElementsByClassName(“blank1”)
tovar input1=document.getElementsById(“blank1”)
或将class=“blank1”
添加到输入中。Ot返回未定义,因为您的语法有错误:
getElementsByClassName(blank1)
blank1是ID而不是类
这应该起作用:
var input1=document.getElementById(“blank1”);
var submit=document.getElementsByClassName(“提交”);
正确答案=‘你好’;
//submit是一个数组getElementsByClassName返回一个元素数组
提交[0]。addEventListener('click',checkFillIn);
函数checkFillIn(){
if(input1.value==correctAnswer){
console.log('correct!');
}否则{
console.log(“不正确”);
}
}
code对我来说似乎是正确的,你能分享一下你收到的错误吗一旦它允许我,我会接受的,我对自己很生气,因为听起来很陈词滥调,我之前就有过这个!我忘了我已经把它改成了一个id来测试,而且再也没有把它改回来。这太尴尬了,因为我知道我可以做得更好!我真的很感谢你的帮助!没关系。这是常有的事。别对自己那么苛刻D