-4

リストからランダムな画像を選択し、ユーザーにそれを識別してもらうコードを作成しようとしています。これまでのところ、画像を生成できますが、文字列を配列要素と比較しようとして問題が発生しました。

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")
}
}

2番目の関数と2つの文字列の比較に関しては、私は途方に暮れています。助けてくれてありがとう。

4

2 に答える 2

3

入力に ​​ID があると仮定するとtextBox、次を使用する必要があります。

var check = str.indexOf(document.getElementById('textBox').value);
if(check == -1)
{
...
  • search文字列ではなく、正規表現オブジェクトを引数として期待します
  • =演算子は値を割り当てますが、==演算子は値を比較します
  • JS では大文字と小文字が区別されます。探しているのはelseであり、Else
  • インデントは、保守可能なコードにとって非常に重要です。
于 2012-12-05T06:25:55.357 に答える
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")
}
于 2012-12-05T06:25:02.117 に答える