我编写了一个脚本,将大量文本切成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];
}
答案 0 :(得分:0)
一个问题是您已在jsFiddle的cutUp
处理程序中定义了onload
函数。您需要从左侧菜单中选择 no wrap 选项。
另一个问题是你的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));
}
DEMO: http://jsfiddle.net/UFTjJ/
或者,如果您不喜欢作业的放置,请在......之后进行。
while(n < my_long_string.length) {
chunks.push(my_long_string.slice(n, n + 1000));
n += 1000;
}