2012-12-05 6 views
-3

목록에서 임의의 이미지를 선택하고 사용자에게 식별을 시도하도록 요청하는 코드를 작성하려고합니다. 지금까지는 이미지를 생성 할 수 있지만 문자열을 배열 요소와 비교하려고 할 때 문제가 발생했습니다.자바 스크립트에서 배열 요소와 문자열 비교

var imageArray=new Array() 
myImages[1]="image1.jpg" 
myImages[2]="image2.jpg" 
myImages[3]="image3.jpg" 

var randNum=Math.floor(Math.random()*imageArray.length); 

function pickImg() 
{ 
if {randNum==0) 
{ 
randNum=1; 
} 
document.write('<img src="'+imageArray[randNum]+'" border=0>'); 
} 

pickImg() 

function checkAns() 
{ 
var str = imageArray[randNum]; 
var n = str.search('textBox'); 
if(n = -1) 
{ 
alert{"Wrong Answer") 
} 
Else 
{ 
alert("Right Answer") 
} 
} 

두 번째 기능과 두 개의 문자열 비교시 손실이 있습니다. 어떤 도움을 주셔서 감사합니다. 귀하의 의견은 ID textBox을 가지고 가정

if(n == -1)//Checking whether the value of 'n' is -1 or not(comparison) 
{ 
    alert("Wrong Answer") 
} 
else 
{ 
    alert("Right Answer") 
} 
+0

이 경우 (N == -1)'해야' – janith

+0

... 또한 '해야 else'가 아닌'Else' –

+0

는 @AlexanderPavlov 빌어 먹을, 실수의 너무 많은 ... – xiaoyi

답변

1

, 당신은 사용해야합니다

var check = str.indexOf(document.getElementById('textBox').value); 
if(check == -1) 
{ 
... 
  • search 예상 인수로 정규 표현식 객체가 아닌 문자열
  • JS는 대소 문자를 구분 비교 == 운영자 반면 = 운영자 값을 할당
  • : 당신이 else 찾고하지 않을 Else
  • 을 들여 쓰기는 유지 보수가 가능한 코드에서 매우 중요합니다.
+0

과제와 비교를 설명해주십시오. =) –

+0

코드에 구문 오류가 하나 더 있습니다. 'alert {' – xiaoyi

+0

모든 응답 주셔서 감사합니다! 간단한 암기 게임을 만들기 위해 사용자 입력을 배열 요소의 일부와 일치 시키려고합니다. 항목이 올 바르거나 틀린 경우 페이지가 표시됩니다. – Alex

3

에 코드를 변경하는

if(n = -1)//Assigns -1 as the value of 'n'(Used assignment operator here) 
{ 
    alert{"Wrong Answer") 
} 
Else 
{ 
    alert("Right Answer") 
} 

시도가 코드에서 실수에게 있습니다