Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查ByClassName时未定义的输入值_Javascript - Fatal编程技术网

Javascript 检查ByClassName时未定义的输入值

Javascript 检查ByClassName时未定义的输入值,javascript,Javascript,我正在尝试使用纯JavaScript按类名查找输入的值。当我为和ID运行类似的代码时,它可以工作,但当我尝试使用类名时,它返回undefined。我可以用jQuery实现这一点,但我想用纯JavaScript实现这一点,以便更好地理解该语言。谢谢大家! JAVASCRIPT var input1 = document.getElementsByClassName("blank1"); var submit = document.getElementsByClassName("submit");

我正在尝试使用纯JavaScript按类名查找输入的值。当我为和ID运行类似的代码时,它可以工作,但当我尝试使用类名时,它返回undefined。我可以用jQuery实现这一点,但我想用纯JavaScript实现这一点,以便更好地理解该语言。谢谢大家!

JAVASCRIPT

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”)
to
var 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