【问题标题】:Trouble connecting .slice Javascript function to my HTML无法将 .slice Javascript 函数连接到我的 HTML
【发布时间】:2012-07-24 12:46:08
【问题描述】:

我编写了一个脚本,将大量文本切成 1000 个字符块并将它们分组到一个对象中。现在我要做的是获取所有放在 textarea #PATypes 中的文本,将其分成 1000 个字符块,然后将每个单独的块放入表格中的一个单元格中。不幸的是,我遇到了麻烦——有人知道我做错了什么吗?

我已经在下面写了相关的sn-ps;如果您想查看全部内容,请查看此处: http://jsfiddle.net/ayoformayo/yTcRb/1/

HTML

<label for="PATypes">Mass Text PA</label>
<textarea rows="2" cols="20" id="PATypes"></textarea>
<button onclick = "cutUp()">Submit PA</button> 
<table>
<tr>
<td id="PAType=Name=Value1"></td>
<td id="PAType=Name=Value2"></td>
<td id="PAType=Name=Value3"></td>
<td id="PAType=Name=Value4"></td>
<td id="PAType=Name=Value5"></td>
<td id="PAType=Name=Value6"></td>
</tr>
</table

Javascript

function cutUp(){
    var chunks = [];
    var my_long_string = document.getElementById('PATypes').value;
    var i = 0;
    var n = 0;
    while(n < my_long_string.length) {
        n = 1000 * i;
        chunks.push(my_long_string.slice(n, n + 1000));
        i++;
    }
    document.getElementById('PAType=Name=Value4').innerHTML = chunks[0];
    document.getElementById('PAType=Name=Value5').innerHTML = chunks[1];
    document.getElementById('PAType=Name=Value6').innerHTML = chunks[2];
}​

【问题讨论】:

    标签: javascript html html-table slice


    【解决方案1】:

    一个问题是您在 jsFiddle 的 onload 处理程序中定义了您的 cutUp 函数。您需要从左侧菜单中选择 no wrap 选项。

    另一个问题是您的chunks 数组末尾总是有一个空字符串。您可以通过在下一次评估 while 之前增加 n 来解决此问题。

    var n = 0
    ,   chunks = [];
    
    while(n < my_long_string.length) { // ----v---increment n
        chunks.push(my_long_string.slice(n, n += 1000));
    }
    

    演示: http://jsfiddle.net/UFTjJ/

    或者,如果您不喜欢作业的布置,请在...之后再做。

    while(n < my_long_string.length) {
        chunks.push(my_long_string.slice(n, n + 1000));
        n += 1000;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-23
      • 2020-08-05
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多