2012-04-26 5 views
0

Например:Как вы умножаете пробелы в JavaScript для использования в методе ActiveX FSO Write()

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

Примечание: Я не хочу использовать & NBSP, поскольку ActiveX FSO будет использоваться для записи текстовый файл не html-файл. Таким образом, это должно быть только пробелы:

Более тщательные подробно о том, что я пытаюсь достичь:

Я пытаюсь получить ActiveX FSO писать в текстовый файл из формы 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 operator –