Solved

javascript, escape the backslash

Posted on 2008-06-23
4
2,764 Views
Last Modified: 2008-06-24
i am using a javascript function found here in ee.

it works nice to retrieve the querystring variables and later write them on the html page

i ran into a problem, and that is, when a passed variables contains a backslash such as:

p_old_path=\\PPT.DFT\Files\Global\My_Directory

the variables is written as

\PPT.DFTFilesGlobalMy_Directory  

how can the function be modified so it escapes the backslashes that are contained on the passed querystring variables?


Thank you.
<script language="javascript">

    p_name= "";

    p_id= "";

    p_old_path= "";

    p_new_path= "";

    p_dir_owner= "";

    p_primary_stew= "";

    p_bckup_stew= "";

    p_full_access= "";

    p_read_access= "";

    p_description= "";

    p_other_info= "";

// Get names

var queryString = window.location.href.substring((window.location.href.indexOf('?') + 1));

var array1 = queryString.split('&'); // Each array element is in format "fieldname=value"

for(var i = 0; i < array1.length; i++)

{

   var tempArray = array1[i].split('='); // Separate fieldname and value

   eval(tempArray[0] + " = \"" + tempArray[1] + "\"");

}

</script>

Open in new window

0
Comment
Question by:itortu
  • 2
  • 2
4 Comments
 
LVL 82

Expert Comment

by:hielo
ID: 21851271
try:
 eval(tempArray[0] + " = \"" + tempArray[1].replace(/[\\]/g,'\\') + "\"");

Open in new window

0
 

Author Comment

by:itortu
ID: 21856231
i'm still not able to see the "\" written on the page :-(
0
 

Author Comment

by:itortu
ID: 21856485
i am pasting the contents of my page may be that helps?
<script language="javascript">

		p_name= "";

    p_id= "";

    p_old_path= "";

    p_new_path= "";

    p_dir_owner= "";

    p_primary_stew= "";

    p_bckup_stew= "";

    p_full_access= "";

    p_read_access= "";

    p_description= "";

    p_other_info= "";

		// Get names

		var queryString = window.location.href.substring((window.location.href.indexOf('?') + 1));

		var array1 = queryString.split('&'); // Each array element is in format "fieldname=value"

		for(var i = 0; i < array1.length; i++)

		{

 			var tempArray = array1[i].split('='); // Separate fieldname and value

 			eval(tempArray[0] + " = \"" + tempArray[1] + "\"");

 			

		}

		

	</script>

	<script language="javascript">

	function urldecode( str ) {

    // http://kevin.vanzonneveld.net

    // +   original by: Philip Peterson

    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

    // *     example 1: urldecode('Kevin+van+Zonneveld%21');

    // *     returns 1: 'Kevin van Zonneveld!'

    

    var ret = str;

       

    ret = ret.replace(/\+/g, '%20');

    ret = ret.replace(/\\+/g, '\\');

    

    

    ret = decodeURIComponent(ret);

    ret = ret.toString();

    return ret;

		}			

  </script>		

  		<table border=0 width=600>

			<tr>

				<td width=300>

					<table>

						<tr><td class='label'>Name of Person Requesting Directory:</td></tr>

						<tr><td class='label'>0#XXX:</td></tr>

						<tr><td class='label'>Current Directory Path:</td></tr>

						<tr><td class='label'>New Path of Directory:</td></tr>

						<tr><td class='label'>Directory Owner:</td></tr>

						<tr><td class='label'>Primary Directory Steward:</td></tr>

						<tr><td class='label'>Directory Backup Steward:</td></tr>

						<tr><td class='label'>Full Access:</td></tr>

						<tr><td class='label'>Read Only Access Needed:</td></tr>

						<tr><td class='label'>Directory description:</td></tr>

						<tr><td class='label'>Other Information:</td></tr>

					</table>	

				</td>

				<td width=300>

					<table>

			   	   <tr><td class='label'><script language="javascript"> document.write(urldecode(p_name));</script>&nbsp;</td></tr>

             <tr><td class='label'><script language="javascript"> document.write(urldecode(p_id));</script> &nbsp;</td></tr>

             <tr><td class='label'><script language="javascript"> document.write(urldecode(p_old_path));</script> &nbsp;</td></tr>

             <tr><td class='label'><script language="javascript"> document.write(urldecode(p_new_path));</script> &nbsp;</td></tr>

             <tr><td class='label'><script language="javascript"> document.write(urldecode(p_dir_owner));</script> &nbsp;</td></tr>

						 <tr><td class='label'><script language="javascript"> document.write(urldecode(p_primary_stew));</script> &nbsp;</td></tr>

						 <tr><td class='label'><script language="javascript"> document.write(urldecode(p_bckup_stew));</script> &nbsp;</td></tr>

						 <tr><td class='label'><script language="javascript"> document.write(urldecode(p_full_access));</script> &nbsp;</td></tr>

						 <tr><td class='label'><script language="javascript"> document.write(urldecode(p_read_access));</script> &nbsp;</td></tr>

						 <tr><td class='label'><script language="javascript"> document.write(urldecode(p_description));</script> &nbsp;</td></tr>

						 <tr><td class='label'><script language="javascript"> document.write(urldecode(p_other_info));</script> &nbsp;</td></tr>

				  </table>

        </td>

      </tr>	       

		</table>

  

  

Open in new window

0
 
LVL 82

Accepted Solution

by:
hielo earned 300 total points
ID: 21857231
use this:

eval(tempArray[0] + " = \"" + tempArray[1].replace(/[\\]/g,'&#92;') + "\"");

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now