Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 显示为未定义的输入字段值_Javascript_Forms_Setinterval - Fatal编程技术网

Javascript 显示为未定义的输入字段值

Javascript 显示为未定义的输入字段值,javascript,forms,setinterval,Javascript,Forms,Setinterval,我有一个应用程序,可以测试人们的时间表。将总和呈现给用户,然后用户必须在输入字段中输入答案 大多数情况下都可以,但输入字段的值显示为未定义,而不是用户输入的值 让timesTableNumber=2; 设listOfTables=[2,3,4,5,6,7,8,9,10,11,12]; 设spellingItems=listOfTables.length; 设SpellingItemShowed=0; 设checks=0; 让答案={ 正确答案:0, 错误答案:[], numberOfSpell

我有一个应用程序,可以测试人们的时间表。将总和呈现给用户,然后用户必须在输入字段中输入答案

大多数情况下都可以,但输入字段的值显示为
未定义
,而不是用户输入的值

让timesTableNumber=2;
设listOfTables=[2,3,4,5,6,7,8,9,10,11,12];
设spellingItems=listOfTables.length;
设SpellingItemShowed=0;
设checks=0;
让答案={
正确答案:0,
错误答案:[],
numberOfSpellings:spellingItems,
拼写组:“{{spelling.group}}”,
拼写id:“{{拼写。_id}}”,
拼写createdBy:“{{spelling.createdBy}}”,
用户:{{user.\u id}}”
};
var checkSpellings=setInterval(函数(){
如果(拼写项目显示>检查){
检查答案();
}
if(显示的拼写项目<拼写项目){
document.getElementById('spellings').innerHTML=timesTableNumber+'x'+listOfTables[SpellingItemShowed];
document.getElementById('answer').innerHTML=timesTableNumber*listOfTables[SpellingItemShowed];
//隐藏要测试的拼写x秒
var hideSpellings=setInterval(函数(){
document.getElementById('spellings').style.visibility='hidden';
document.getElementById('form').style.removeProperty('visibility');
document.getElementById('spelling').focus();
clearInterval(hideSpellings);
}, 3000);
document.getElementById('spellings').style.removeProperty('visibility');
document.getElementById('form').style.visibility='hidden';
拼写项显示++;
}否则{
//我们完了!
console.log('有'+answers.rightswers+'正确答案,错误答案是'+answers.rightswers');
//发布到服务器所需的信息。。。。
//axios.post(“/拼写”,答案);
//showResults();
控制台日志(应答);
清除间隔(检查拼写);
}
}, 7000);
函数checkAnswer(){
log('checkAnswer:');
var correctAns=timesTableNumber*listOfTables[SpellingItemShowed];
var userAns=document.getElementById('拼写').value;
console.log('correctAns',correctAns);
log('userAns',userAns);
//调试器;
if(userAns==correctAns){
console.log('FOOOOOO');
answers.rightAnswers++;
}否则{
console.log('yo');
answers.errowanswers.push(document.getElementById('spellings').innerHTML);
}
document.getElementById(“拼写”).value=“”;
检查++
}

尝试 测试结束时,您的结果将显示在下面。
我无法重现该问题,它总是记录我输入的输入值,从不
未定义。不过,您的代码逻辑需要修复。2x2=4,但日志显示正确答案为6。另外,最后一个问题的答案被记录为
NaN
@JosephWebber,感谢您查看。我一直在研究这个问题,发现我在得出正确答案时犯了一个愚蠢的错误。然而,正如你所说的逻辑是不正确的,因为答案总是比应该的位置提前一次迭代