2012-12-05 53 views
0

我想比較文本框中用戶輸入的文本與數組中的元素,但我有困難。試圖比較文本框與數組元素

function checkAns() 
{ 
var str = imageArray[randNum]; 
var n = str.indexOf(document.getElementById('textBox').value); 
if(n == -1) 
{ 
    alert("Wrong Answer") 
} 
else 
{ 
    alert("Right Answer") 
} 
} 

用戶輸入應在數組元素中的指定字符串的任一匹配部分,並返回正確的答案或根本不匹配,並返回錯誤答案。

<input type=」text」 id=」textBox」 value=」」> 
<input type=」button」 value=」Check」 onclick=」checkAns()」> 

我添加了我的文本框和按鈕的代碼,如果這是有用的。

+0

'str.indexOf(的document.getElementById( '文字框')值;'缺少結束'indexOf'的括號。 – zzzzBov

+0

噢,謝謝,我把它包括在我的代碼中,我只是在這裏忘記了它 – Alex

+1

使用'console.log'和開發者控制檯調試javascript,它會給你對象和數組的交互式反饋 – zzzzBov

回答

0

請檢查確切的你需要得到。這:

if (document.getElementById('textBox').value === str) { 
    // text from array element is the same as in value 
} else { 
    // ... differs from value 
} 

或者這樣:

if (str.indexOf(document.getElementById('textBox').value) > -1) { 
    // text from value exists in array element 
} else { 
    // ... does not exist 
} 

或者,也許這樣的:

if (document.getElementById('textBox').value.indexOf(str) > -1) { 
    // text from array element exists in value 
} else { 
    // ... does not exist 
} 
+0

我相信第二個例子是我正在看的那種代碼。 – Alex