2017-06-14 107 views
0

(对不起,如果我的英文不好) 我尝试做一个小游戏,你必须在输入中回答问题。当你用有效的密钥“输入”,下一个输入出现,并在一个新的问题JS:按Enter进入下一个输入

它是复杂的解释,所以我离开你的测试网址:nicolaslorand.com/bac.php

这里是我的我的代码的一部分:

var i = 1; 
var j = 2; 

$('#input'+i).keypress(function(event) { 

console.log('input actuel :'+i); 
console.log('input suivant :'+j); 

if (event.which == 13) { 
    verification(); 
    console.log("Touche entrée"); 

} 
}); 

function verification(){ 

document.getElementById('input'+j).style.display = "block"; 
var index = $(".inputform").index(this) + 1; 
$(".inputform").eq(index).focus(); 

var recup = document.getElementById('input'+i); 
var verif = recup.value.toUpperCase(); 

var divLettre = document.getElementById('lettre'); 
var premiereLettre = divLettre.innerText || divLettre.textContent; 

if (verif.charAt(0) === premiereLettre) { 
    $("#input"+i).addClass('trueanswer'); 
    i++; j++; 
    scoreTotal++; 

    console.log(i);console.log(j); 
    } 

else{ 
    $("#input"+i).addClass('falseanswer'); 
    i++; j++; 

    console.log(i);console.log(j); 
    } 

有了这个代码,当我按下回车,接下来输入出现,但我有我的回答是通过功能验证在第一输入写。

+0

VAR指数= $指数(这个)+ 1( “inputform。”)。 **这个**是指窗口对象。它应该是**我** –

回答

0

您正在使用this里面的功能,这是指窗口对象。我认为你应该使用i代替this

var index = $(".inputform").index(i) + 1; 
+0

谢谢!我是JS的初学者,这是我的第一个项目。但是,我的第二个输入仍然不起作用 –