2013-05-14 26 views
0

我有一個窗體包含一個頁面上的textarea,用於多行輸入,發佈到一個經典的ASP腳本,然後循環遍歷每行:

catlist = Split(request("catlist"),vbcrlf) 
for i = 0 TO UBound(catList) 
    'do some stuff to each line 
next 

這適用於使用HTML POST或GET請求。但現在我試圖重做包含textarea的頁面來使用jQuery $ .get而不是表單,並且它似乎無法處理來自textarea的換行符。說textarea的包含:

test1 
test2 

按下提交按鈕執行該功能:

function add() { 
    var thetext = $("#thefield").val(); 
    $.get("task.asp", {action:"add",thetext:thetext}); 
} 

這只是崩潰,並給了我一個意外的標記非法的(因換行 - 它的工作原理罰款單線路輸入)。

所以我做這個,而不是功能:

function add() { 
    var thetext = encodeURIComponent($("#thefield").val()); 
    $.get("task.asp", {action:"add",thetext:thetext}); 
} 

此獲得通過沒有任何腳本錯誤,但是當我請求(「thetext」)在服務器端,我只收到一封包含一行:

測試1%0Atest2%0A

當我使用規則的Javascript(非Ajax),並使用是encodeURI提交一個查詢字符串,我沒有做任何多餘的decryp在服務器端,傳統的ASP一直自動處理它。但由於某些原因,使用這個$ .get方法它保持編碼。

任何方式使這項工作,而無需改變服務器端腳本手動解碼?

回答

0

%0A是一個換行符

如果您查看文字在Windows換行符它看起來就像1號線。

所以試着改變你的ASP這個

catlist = Split(request("catlist"),vblf)