I have a JavaScript variable that I echo out using PHP which is shown like this in the page source:
var db_1 = 'C:\this\path';
When I set the value of a text field with that variable like so:
$('#myinput').val(db_1);
The slashes have disappeared and only the other characters are left!
Why is this and how can I put the slashes back in??
Thanks all
If you want to include a backslash character itself, you need two backslashes or use the @ verbatim string: var s = "\\Tasks"; // or var s = @"\Tasks"; Read the MSDN documentation/C# Specification which discusses the characters that are escaped using the backslash character and the use of the verbatim string literal.
If you want to split the string by backslashes and spaces alike, the first step is to split by backslashes, done like this: step2 = str. split("\\"); Note that you have to escape the backslash here.
A backslash is an escape character in JS. They are lost when the string literal is parsed.
You can't put them back, because you have no way of telling where they were. You have to make sure they remain in the string in the first place (by representing them with an escape sequence).
var db_1 = 'C:\\this\\path';
You can use:
echo json_encode('C:\this\path');
json_encode
can be used as a filter function for some JavaScript code.
Try this:
var db_1 = 'C:\\this\\path';
For more info: http://www.w3schools.com/js/js_special_characters.asp
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With