javascript:无法找出错误!

标签 javascript html

下面是一个用 JavaScript 编写的脚本,目的是从输入中获取一个句子,并且应该将其拆分为单词数组,消除空格。每个单词都应该根据单词的大小进一步分成 2 或 3 个字母,忽略其中剩余的字母。

如果所述单词大于 1 且小于 5,或者大于 6,则它应该是四个字母的单词。所有单词的输出都应使用下划线连接起来。

下面的代码不起作用,我无法弄清楚。请指导我让它发挥作用

document.getElementById("cliename").onchange = function(event){
var list_cname = new Array();
var cname = document.submit.cliename.value;
list_cname = cname.split(" ");
var list_len = list_cname.length;
var valu;
var final_valu;
var i=0;

for (i=0;i<=list_len;i++){ 
        var sub_list = list_cname[i];
        var sub_list_len = sub_list.length;
        if(sub_list_len>=1 && sub_list_len<=5 ){
            sub_list_len=sub_list_len-1;
            }
            else if(sub_list_len>=6 ){
                    sub_list_len=4;
                }
        var list_val = list_cname[i].substring(0,sub_list_len);
        valu = list_val;
        final_valu = valu + "_" + final_valu;  
    }
    document.write("list -" + cname + ", len - " + list_len + ", final " + final_valu);
}

我得到的错误是“SUB_LIST”未定义。

最佳答案

首先,更改

for (i=0;i<=list_len;i++)

for (i=0;i<list_len;i++)

list_cname[i]将索引越界。

关于javascript:无法找出错误!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027560/

相关文章:

html - Font-Awesome CSS 文件不工作,但 Font-Awesome CDN 工作。为什么?

javascript - 面积图、谷歌图表上具有不同颜色的多条垂直线。悬停在文本上时问题行颜色消失

javascript - 无法获取/帖子

javascript - Ajax 在循环中成功设置全局变量

html - 如何使用 CSS 在最后一页打印背景颜色?

javascript - 单击任意位置关闭汉堡菜单

javascript - 将 Html.Raw() 存储在 Javascript、ASP.NET MVC 3 的字符串中

javascript - async.map 或 async.each 与 async.parallel 有什么区别?

html - 减少 Bootstrap 中两行导航栏之间的空间

php - 如何使用包含YouTube视频的PHP发送电子邮件