我正在尝试制作一个代码,从列表中选择一个随机图像并要求用户尝试识别它。到目前为止,我可以生成图像,但是在尝试将字符串与数组元素进行比较时遇到了麻烦。
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")
}
}
当谈到第二个功能并比较两个字符串时,我感到很茫然。谢谢你的帮助。
答案 0 :(得分:3)
假设您的输入具有ID textBox
,您应该使用:
var check = str.indexOf(document.getElementById('textBox').value);
if(check == -1)
{
...
search
期望正则表达式对象作为参数,而不是字符串=
运算符分配值,而==
运算符比较值else
,而不是Else
答案 1 :(得分:1)
您的代码中存在错误
if(n = -1)//Assigns -1 as the value of 'n'(Used assignment operator here)
{
alert{"Wrong Answer")
}
Else
{
alert("Right Answer")
}
尝试将代码更改为
if(n == -1)//Checking whether the value of 'n' is -1 or not(comparison)
{
alert("Wrong Answer")
}
else
{
alert("Right Answer")
}