2014-10-07 2 views
0

사용자가 텍스트 상자에 1 개의 문자를 입력 할 수 있도록 허용하려고 시도한 다음 문자를 2 개의 상자 중 하나에 넣습니다. 이것은 교수형 집행자 게임을위한 것이므로 단어에 있는지 여부에 따라 글자를 나눌 것입니다. 여기 내 코드가있다. 잘만되면 누군가 나를 도울 수 있습니다. 나는 자바 스크립트가 처음이야! 나는 1 톤의 인터넷 검색을했지만 거의 쓸모가 없었다.텍스트 상자 입력을 읽고 두 상자 중 하나에 넣기 JavaScript

var words = ['dog', 'computer', 'cat', 'monkey', 'human']; 

var wordForGuess = chooseWord(); 

var wordLength = wordForGuess.length; 

function chooseWord() { 
    return words[Math.floor(Math.random() * words.length)]; 
} 

function writeWord() 
{ 
    var textarea = document.getElementById('textBox').value; 

    for (var x = 0; x<wordLength; x++) 
    { 
    if (textarea === wordForGuess.indexOf(x)) 
    { 
     document.getElementById('correctLetters').value = textarea; 
    } 
    else 
    { 
     document.getElementById('incorrectLetters').value = textarea; 
    } 
    } 
} 

뿐만 아니라 내 텍스트 상자의 HTML

<div id = 'letterInput'> 
</div> 

<input type = 'text' id = 'textBox' onkeyUp="writeWord()"/> 

<div id = 'correctLetters'> 
</div> 

<div id = 'incorrectLetters'> 
</div> 

답변

0

난 당신이 선택한 단어에서 문자 반복을 포함하고 바로 확인하는 대신 그 반복의 인덱스를 사용하여 몇 가지 실수를 생각 입력 상자의 값 또한 각 키 업마다 값을 재설정해야한다고 생각합니다. 또한 onkeyup 이벤트를 HTML에서 JavaScript로 옮겼습니다. 자바 스크립트가 아직로드되지 않았지만 귀하의 예제에서 알기가 어렵다고 생각합니다.

<div id = 'letterInput'> 
    </div> 
    <input type = 'text' id = 'textBox' /> 
<br/> 
Correct: 
<div id = 'correctLetters'> 

    </div> 
<br/> 
Incorrect 
    <div id = 'incorrectLetters'> 

    </div> 

는 여기에 몇 가지 수정과 자바 스크립트를이다 :

var words = ['dog', 'computer', 'cat', 'monkey', 'human']; 

var wordForGuess = chooseWord(); 

var wordLength = wordForGuess.length; 

function chooseWord() { 
    return words[Math.floor(Math.random() * words.length)]; 
} 

function writeWord() { 
    var input, textarea; 

    input = document.getElementById('textBox') 
    textarea = input.value; 
    input.value = ""; 
    console.log("writing word", textarea); 

    if (wordForGuess.indexOf(textarea) !== -1) { 
     document.getElementById('correctLetters').innerText += textarea; 
    } else { 
     document.getElementById('incorrectLetters').innerText += textarea; 
    } 
} 

document.getElementById("textBox").onkeyup = writeWord; 

여기이 코드와 jsfiddle입니다.

관련 문제