2013-01-22 77 views
4

無法找到數組索引我正在編寫一個程序,它從文本框中獲取所有文本,將其解析爲刪除空白的數組,然後將搜索數​​組中的期望值。使用.indexOf()

我可以測試它,並讓程序成功地將文本框中的文本解析到數組中,但是當我嘗試在數組中找到期望的值時,它會引發錯誤。錯誤是,「對象不支持這個屬性或方法」。

的JavaScript:

function generateOutputfvoc() 
{ 
    var inputArr = document.getElementById("inputBox").value.split(/[\s]/); 
    var nameLoc = inputArr.indexOf("Name"); 
    document.getElementById("contactNameOutput").innerHTML = nameLoc; 
} 

HTML片段:

<p>Paste Text Here</p> 
<textarea rows='8' cols='152' id='inputBox' placeholder="Copy text and paste here" wrap="off"></textarea> 
<form><input type='button' onclick='generateOutputfvoc()' value='Generate Output' /></form> 
<p>Contact Name: <b id='contactNameOutput'></b></p> 

謝謝。

+2

什麼瀏覽器是什麼? Internet Explorer 8和更早版本不支持indexOf()方法。 – Thilo

+1

[什麼瀏覽器](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf#Browser_compatibility)你在測試它嗎? 'Array.indexOf()'是ECMAScript的一個相當新近的補充。 –

+0

我在IE8中測試它。我在FF中嘗試過它,它工作。感謝您的及時答覆。我很擔心,因爲我需要這個來處理所有版本的IE。任何關於向後兼容性的想法? – Mrow

回答

3

您可以根據本頁面中添加使用的JavaScript的原型特徵的indexOf():https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf

+0

謝謝。我正在使用IE8來測試代碼,這似乎是問題所在。我將兼容性代碼放入我的程序中,它可以工作!然而,我有一個新的關注點:當我​​現在在IE8中運行程序時,我得到了正確的值,但是在FF中,當使用相同的文本時,我獲得了不同的值。有任何想法嗎? – Mrow

+0

有什麼區別? – javabeangrinder