Somacon.com: Articles on websites & etc.

§ Home > Index > ASP Programming

Print Javascript Array from ASP

An optimized ASP function for printing a quoted list of Javascript array elements.

printjavascriptarray.asp
<%
'  This code is hereby granted to the public domain.
'
' ** PrintJavascriptArray Documentation **
'
' Summary: PrintJavascriptArray is an optimized function that prints
'  a result set as a list of quoted and comma-separated entries, for
'  use in initializing client-side Javascript arrays.
'
' Parameters:
' objCN [in] - Connection string or opened connection object.
' strsql [in] - A query that retrieves the data to be printed
'
' Notes:
'   * Each value returned in the result set will become a single entry
'     in the array. (Returning multiple columns is okay.)
'   * Each entry will be double-quoted and treated as a string.
'   * Entries containing the double-quote character will be
'      handled correctly. (Replaced with String.fromCharCode.)
'   * Data will be HTML encoded.
'   * Nulls will be printed as empty strings.
'
' Usage:
'   <script type="text/javascript">
'      myJavascriptArray = Array(
'          <%  PrintJavascriptArray "DSN=MyDSN", _
'              "SELECT ObjectID, ObjectName FROM tblObjects"   %>
'         );
'   </script>
'

Function PrintJavascriptArray(ByRef objCN, strsql)
    Dim objRS, ArrayRecords, i, j
    Dim NumRows, NumColumns

    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open strsql,objcn,adOpenForwardOnly,adLockReadOnly,adCmdText

    Do While Not objRS.EOF
        ArrayRecords = objRS.GetRows(50)

        NumRows = UBound(ArrayRecords,2)
        NumColumns = UBound(ArrayRecords,1)

        For i = 0 To NumRows
            For j = 0 To NumColumns
                Response.write Chr(34)
                If Not IsNull(ArrayRecords(j, i)) Then
                    Response.write Replace(ArrayRecords(j, i), _
                        Chr(34),Chr(34)&"+String.fromCharCode(34)+"&Chr(34))
                End If
                Response.write Chr(34)
                ' Print comma, except at last record
                If Not objRS.EOF Or i <> NumRows _
                    Or j <> NumColumns Then
                    Response.write ","
                End If
            Next
        Next
        Response.write vbCrLf
    Loop
    objRS.Close
    Set objRS = nothing
End Function

%>

ASP Speed Tricks Site Map

  1. ASP Speed Tricks
  2. Optimized Table Printing in ASP
  3. Optimized Heirarchical Table Printing in ASP
  4. Print Javascript Array from ASP ← You Are Here
  5. Print Select Options from ASP
  6. Javascript Autocomplete Combobox - find as you type
  7. ASP Speed Tricks Appendix
  8. ASP Speed Tricks PDF Format

Created 2005-05-08, Last Modified 2011-07-24, © Shailesh N. Humbad
Disclaimer: This content is provided as-is. The information may be incorrect.