2010-04-19 196 views
7

我有一個JavaScript變量,我回聲出使用PHP其被示出像這樣在頁源的一部分:JavaScript的:反斜槓作爲字符串

var db_1 = 'C:\this\path'; 

當我設置文本字段的值與像這樣的變量:

$('#myinput').val(db_1); 

斜槓已經消失,只剩下其他字符了!

這是爲什麼,我怎麼能把斜槓回?

謝謝全部

+0

var db_1 ='C:\\ this \\ path'; – jAndy 2010-04-19 15:16:25

回答

11

反斜槓是JS中的轉義字符。當字符串文字被解析時,它們會丟失。

你不能把它們放回去,因爲你無法說出它們在哪裏。您必須確保它們始終保持在字符串中(通過用轉義序列表示它們)。

var db_1 = 'C:\\this\\path'; 
+0

我曾嘗試用'\'替換'\',但那不起作用。 – Abs 2010-04-19 15:17:40

+1

如果通過「替換」你的意思是「替換源代碼」,那麼它應該工作(併爲我做)。如果你的意思是「使用JavaScript字符串替換方法」,那當然是行不通的 - 我把你引回到我答案的第二句話。字符串中沒有反斜槓字符,只是轉義序列。由於沒有反斜槓字符,如果您嘗試用其他名稱替換它們,則不會有任何更改。 – Quentin 2010-04-19 15:20:12

+0

啊我看到了,我會用PHP做一個str_replace。謝謝! – Abs 2010-04-19 15:20:43

2

您可以使用:

echo json_encode('C:\this\path'); 

json_encode可以用作一些JavaScript代碼過濾功能。