0

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

我在下面写了相关的片段;如果您想查看全部内容,请查看此处: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];
}​
4

1 回答 1

0

一个问题是您已经在 jsFiddlecutUp的处理程序中定义了您的函数。onload您需要从左侧菜单中选择不换行选项。

另一个问题是你的chunks数组最后总是有一个空字符串。您可以通过n在下一次评估while.

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;
}
于 2012-07-26T00:48:02.403 回答