2012-10-25 41 views
1

我使用HTML5和的indexOf給我一個錯誤,我可以用這樣還有什麼在一個字符串搜索單詞「正確的」搜索字符串withing字符串:a001_new_quiz_multiple_choice_new_mc4_correct.html這是一個變量叫value1在JS問題

function SetAPIValue(key1, value1) 
{ 
    // alert("action is " + key1 + " and data is " + value1); 
    console.log(value1); 

    var str = "wrong"; 
    var n = str.search(value1); 
    if (n > 0) 
    alert("found"); 
} 

錯誤我得到:0x800a01b6 - 微軟JScript運行時錯誤:對象不支持屬性或方法「的indexOf」

+1

「的indexOf給我一個錯誤」?什麼錯誤? –

+0

請參閱OP的錯誤:)謝謝 –

+0

哎呀是的,我想我會得到錯誤,如果value1爲空:)我的壞 –

回答

0

我不知道你是怎麼用的indexOf,但這個工程:

var value1 = "a001_new_quiz_multiple_choice_new_mc4_correct.html"; 
var n = value1.indexOf("correct"); 
if (n >= 0) alert("found"); 

也許你試過"correct".indexOf(value1);而不是value1.indexOf("correct");

demonstration

0

此錯誤僅在IE上發生嗎? 如果是這樣 - 你應該注意indexOf沒有在他們的JS中實現。 嘗試的indexOf在第一次使用前,加入以下代碼:

if (!Array.prototype.indexOf) { 
    Array.prototype.indexOf = function(obj, start) { 
     for (var i = (start || 0), j = this.length; i < j; i++) { 
      if (this[i] === obj) { return i; } 
     } 
     return -1; 
    } 
} 
+1

我覺得你很困惑:OP是一個字符串調用indexOf,而不是一個數組。 –

+0

是的,我在IE9工作,是的,我測試了一個字符串:)謝謝 –

0

function SetAPIValue(key1, value1) {
   var regEx = new RegExp("correct");
   alert(regEx.test(value1));
}