2012-04-26 33 views
0

例如:你如何乘空格在JavaScript中使用ActiveX中FSO Write()方法

var a = " "; 
var b = ""; 
b = a * 8; 
alert(b +"this far to the right"); 

注:我不想用& NBSP以來的ActiveX FSO將用於寫入一個文本文件不是html文件。因此,它需要爲空格:

我試圖讓FSO的ActiveX從HTML訂單寫入一個文本文件一次:什麼我想要實現

更徹底的細節表單提交後,繼續將訂單寫入文本文件。該文本文件需要採用特定的格式,以便Microsoft Dynamics接受作爲導入銷售。

篩選如下顯示爲:客戶代碼空間項目碼空間空間

IMPORT.TXT減去與槽串長度=剩餘空間填寫。

C242299A *4 white spaces* 2890 *12 white spaces* 20 *6 white spaces* 
[------------][----------------][--------] 
12 char slots 16 char slots 8 char slots 

write.js將創建此IMPORT.TXT文件(這是我需要幫助的部分)應該創建一個文本文件,它看起來像這樣

var customercode = document.getElementById("customercode").value; 
var itemcode = document.getElementById("itemcode").value; 
var quantity = document.getElementById("quantity").value; 

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var s = fso.OpenTextFile(path+"import.txt",8,true,0); 
//customer code string length must be measured to determine remaining spaces 
//to fill before item code can be entered. 
//you only have 12 character slots before the next string "item code" can be entered 
var remainingSpaces = ""; 
remainingSpaces = 12 - customercode.length; 
spacefill1 = " " * remainingspaces; 
remainingSpaces = 16 - itemcode.length; 
spacefill2 = " " * remainingSpaces; 
remainingSpaces = 8 - quantity.length; 
spacefill3 = " " * remainingSpaces; 
s.WriteLine(customercode+spacefill1+itemcode+spacefill2+quantity+spacefill3); 

C242299A  2890  20 

然後將其導入Microsoft Dynamics。

但問題是,它並沒有繁殖的空間它認爲的空間爲0 /空:( jQuery的解決方案表示歡迎

回答

4

要重複某個字符多次使用。

var max = 8;//times to repeat 
var chr = "a";//char to repeat 

console.log(new Array(max + 1).join(chr));//aaaaaaaa 

請注意,如果你使用空格,它們大多會壓縮成一個(但它們在那裏)

你可以使用<pre>標籤來顯示每一個空白區域(demo

+0

LOL我想出了另一種解決方案: 我沒有使用+ = append運算符 – 2012-04-26 15:24:33

相關問題