0

我写了一个简单的函数,每次更新一个文本区域时都会执行,但我想获取该文本区域中文本的最后一个字符。
为此,我使用charAt了 ,但随后代码停止工作。

请任何人告诉我我犯了什么错误。

// array is goes here

function startText() {
    var str=document.getElementById("intxt").value;
    var matchkeyword = str.charAt(str.length-1);
    // code extends

    var sugest = "";

    for (var i = 0; i < consonants.length; i++) {
        if (consonants[i].match(matchkeyword.value) != null && matchkeyword.value != "") {
            sugest = sugest + "<br>" + consonants[i] + "=" + consonantsUni[i];
        }
    }
    y = document.getElementById("sugdiv");
    y.innerHTML = sugest;
}
4

1 回答 1

2

将其分配给这样的变量后

var matchkeyword = str.charAt(str.length-1);

你不应该使用valueon matchkeyword。代替,

if(consonants[i].match(matchkeyword.value) != null && matchkeyword.value != "") {

利用

if(consonants[i].match(matchkeyword) != null && matchkeyword != "") {

注意:如果您使用的是 Chrome,每当脚本“停止工作”时,按下F12将打开开发者工具。您将能够从中获得线索。

于 2013-10-28T14:15:20.983 回答