2012-07-26 45 views
0

我寫了一個腳本,將大量文本切成1000個字符塊並將它們分組在一個對象中。現在我要做的是將所有放在textarea #PATypes中的文本分成1000個字符塊,然後將每個塊放入表格中的單元格中。不幸的是,我遇到了麻煩 - 是否有人知道我做錯了什麼?無法連接.slice Javascript函數到我的HTML

我在下面寫了相關的代碼片段;如果你想看到整個事情,點擊這裏: 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

的一個問題是,你已經在onload定義了cutUp功能處理程序在jsFiddle中。您需要從左側菜單中選擇無包裝選項。

另一個問題是,你的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)); 
} 

DEMO:http://jsfiddle.net/UFTjJ/

或者,如果你不喜歡分配的安置,後做...

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