无法使用.indexOf()找到数组索引

4
我正在编写一个程序,它会获取文本框中的所有文本,将其解析为一个数组并去除空格,然后搜索该数组以查找期望的值。
我可以测试它并成功地将文本框中的文本解析为数组,但是当我尝试在数组中查找期望的值时,它会抛出一个错误。 错误为“对象不支持此属性或方法”。
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
那是什么浏览器?indexOf()方法在Internet Explorer 8及更早版本中不受支持。 - Thilo
1
你在测试哪个浏览器?Array.indexOf()是ECMAScript的一个相对较新的补充。 - Mattias Buelens
我正在IE8中测试它。我在FF中尝试过,它可以工作。感谢您的快速回复。我很担心,因为我需要它能够与所有版本的IE兼容。有关向后兼容性的任何想法吗? - Mrow
1
相关主题:“如何修复JavaScript中IE浏览器的Array indexOf()” - https://dev59.com/MnI-5IYBdhLWcg3wpqMK - benbai123
1个回答

3

谢谢。我正在使用IE8测试代码,看起来问题出在这里。我将兼容性代码放入程序中,它可以工作了!但是我现在有一个新的担忧…… 我现在在IE8中运行程序时获得正确的值,但是在FF中使用相同的文本时却得到了不同的值。任何想法? - Mrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接