2011-09-18 8 views
2

if-else이 작동하지 않습니다. 문제가 있다고 생각합니다. x의 값을 보면 텍스트 필드에 입력 된 값이 아닙니다. 어떤 아이디어?자바 스크립트가 다른 경우

function guess() { 

    var x = document.getElementById("magic"); 

    var word = "please"; 
    if (x == word) { 
     alert("You entered the magic word!"); 
    } else { 
     alert("Please try again!"); 
    } 
} 

<form> 
    What is the magic word?<br /> 
    <input type="text" id="magic" onchange="guess()" /> 
</form> 
+0

x = object, 단어와 비교하려면 .value를 사용해야합니다. –

+1

'var x = document.getElementById ("magic"). 값' –

답변

4

당신은 가치를 얻지 못하고 있습니다. 이것을 사용하십시오 :

var x =document.getElementById("magic").value; 
4

당신이 원하는 : 또한

var x = document.getElementById("magic").value; 

onchange 당신이 onkeyup를 사용해야합니다, 작동하지 않습니다, onblur은 아마 제정신 있지만 :

What is the magic word?<br /> 
<input type="text" id="magic" onblur="guess()" /> 

function guess() { 
    var x = document.getElementById("magic").value; 

    var word = "please"; 

    if (x == word) { 
     alert("You entered the magic word!"); 
    } else { 
     alert("Please try again!"); 
    } 
} 

http://jsfiddle.net/6uAhq/

+0

'alert's를 사용하여 사용자를 강타하고 싶습니까? ('onkey *'는 정확하게 타이핑 할 때까지 타이프 한 모든 글자에 대해 "Please try again again"이라고 경고 할 것입니다.) – icktoofay

+0

예,'onblur'가 아마 더 좋을 것입니다. 나는 응용 프로그램이 아니라 'onchange'에 대해 생각하고있었습니다. –

2

실제 Va와 대조해야합니다. 예 :

var x = document.getElementById("magic").value; 

나는 "마법"이 입력이라고 가정합니다.

관련 문제