skip to Main Content

I have a simple html that goes to a asp script to save the data in a text file but all the spaces disappear.
I have tried a lot.

I have tried to do a URL coding but it does not fix it. Server.URLEncode is still in the script.

I really need to under how to get the blanks in the output file. Please help

any help.

This is the script from the HTML

<script type="text/javascript">
// Current date - http://stackoverflow.com/a/4929629/412329
// this creates the date and time for the save file

//end create time and date stamp



function saveFormAsTextFile()
    // Based on https://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/
    {


var today = new Date();
var s = today.getSeconds();
var n = today.getMilliseconds();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd='0'+dd;
    }

if(mm<10) {
    mm='0'+mm;
    }

today = yyyy+'-'+mm+'-'+dd+'-'+s+'-'+n;
    //This section checks to see if the quantity is zero and sets it to 1
            var copies;
            copies = 1;

            //copies = document.getElementById('Quantity').value;
            if (copies < document.getElementById('Quantity').value)
                {
                var copies = document.getElementById('Quantity').value;
                }
            //end copies section
    
    var Line1 = document.getElementById('Line1').value;
            
    var textToSave = 
      'datestring='+today+
      '&SKU=' + document.getElementById('SKU').value + 'n' + // =SKU
      '&Form=' + document.getElementById('Select_Form').value + // =Select Form
      '&Printer=' + document.getElementById('Select_Printer').value + // =Select Printer
      '&Retail=' + document.getElementById('Retail').value + // =Select Retail
      '&Sale_Price=' + document.getElementById('Sale_Price').value + // =Select Sale_Price
      '&Pieces=' + document.getElementById('Pieces').value + // =Select Pieces
      '&Line1=' + Line1 + // =Select Line1
      
      '&Line2=' + document.getElementById('Line2').value + // =Select Line2
      '&Line3=' + document.getElementById('Line3').value + // =Select Line3
      '&Line4=' + document.getElementById('Line4').value + // =Select Line4
      '&Line5=' + document.getElementById('Line5').value + // =Select Line5
      '&Line6=' + document.getElementById('Line6').value + // =Select Line6
      '&Copies=' + copies
      
    

    var xhr=new XMLHttpRequest();
    xhr.open("POST", "Gallery_Tags_Print-OTF.asp", true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send(textToSave);
alert("Sent to printer!");



    }

function destroyClickedElement(event)
    {
    document.body.removeChild(event.target);
    }

This is the full asp

   <%
dim fs, tfile
datestr=Request.Form("datestring")
sku=Request.Form("SKU")
form=Request.Form("Form")
printer=Request.Form("Printer")
retail=Request.Form("Retail")
saleprice=Request.Form("Sale_Price")
pieces=Request.Form("Pieces")
line1=Request.Form("Line1")
test2=Server.URLEncode(Request.Form("Line1"))
line2=Request.Form("Line2")
line3=Request.Form("Line3")
line4=Request.Form("Line4")
line5=Request.Form("Line5")
line6=Request.Form("Line6")
copies=Request.Form("Copies")

filestr="C:Program FilesFabSoft-SysConnectSpooler" & datestr & ".txt"

set fs=Server.CreateObject("Scripting.FileSystemObject")
set tfile=fs.CreateTextFile(filestr, true)
tfile.WriteLine( "")
tfile.WriteLine( "")
tfile.WriteLine( "")
tfile.WriteLine( "")
tfile.WriteLine( "")
tfile.WriteLine("did it work:  " & test2)
tfile.WriteLine( "")
tfile.WriteLine( "")
tfile.WriteLine( chr(9) & chr(9) & chr(9) & chr(9) & chr(9) & chr(9) & chr(9) &" OTF-TEMPLATE")
tfile.WriteLine( chr(9) & "SKU: " & sku)
tfile.WriteLine( chr(9) & "Form: " & form)
tfile.WriteLine( chr(9) & "Printer: " & printer)
tfile.WriteLine( chr(9) & "Retail Price: " & retail)
tfile.WriteLine( chr(9) & "Sale Price: " & saleprice)
tfile.WriteLine( chr(9) & "Pieces: " & pieces)
tfile.WriteLine( chr(9) & "Line 1: " & line1)
tfile.WriteLine( chr(9) & "Line 2: " & line2)
tfile.WriteLine( chr(9) & "Line 3: " & line3)
tfile.WriteLine( chr(9) & "Line 4: " & line4)
tfile.WriteLine( chr(9) & "Line 5: " & line5) 
tfile.WriteLine( chr(9) & "Line 6: " & line6)
tfile.WriteLine( chr(9) & "Copies: " & copies)
tfile.close
%>

2

Answers


  1. Chosen as BEST ANSWER

    That was the solution encodeURIComponent

    '&SKU=' + encodeURIComponent(document.getElementById('SKU').value) + // =SKU


  2. Try using encodeURIComponent() on the user inputted fields like the following. Also not sure why you have the "n" getting added.

    var textToSave = 
          'datestring='+encodeURIComponent(today) +
          '&SKU=' + encodeURIComponent(document.getElementById('SKU').value) +  // =SKU
          '&Form=' + encodeURIComponent(document.getElementById('Select_Form').value) + // =Select Form
          '&Printer=' + encodeURIComponent(document.getElementById('Select_Printer').value) + // =Select Printer
          '&Retail=' + encodeURIComponent(document.getElementById('Retail').value) + // =Select Retail
          '&Sale_Price=' + encodeURIComponent(document.getElementById('Sale_Price').value) + // =Select Sale_Price
          '&Pieces=' + encodeURIComponent(document.getElementById('Pieces').value) + // =Select Pieces
          '&Line1=' + Line1 + // =Select Line1
          
          '&Line2=' + encodeURIComponent(document.getElementById('Line2').value) + // =Select Line2
          '&Line3=' + encodeURIComponent(document.getElementById('Line3').value) + // =Select Line3
          '&Line4=' + encodeURIComponent(document.getElementById('Line4').value) + // =Select Line4
          '&Line5=' + encodeURIComponent(document.getElementById('Line5').value) + // =Select Line5
          '&Line6=' + encodeURIComponent(document.getElementById('Line6').value) + // =Select Line6
          '&Copies=' + encodeURIComponent(copies)
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search