2016-01-28 50 views
0

我想將一個變量傳遞給一個javascript函數。根據用戶的選擇,它可以是文本或圖像。這裏已經討論過類似的問題,但我無法解決這個問題。在javascript函數中轉義引號

在PHP中,我編碼是這樣的:

if ($choice == 1) { 
    $img = '<img src = "../folder/'.$_SESSION["img"].'">'; 
    $hdrs .= "'".$img."','".$_SESSION['id']."'"; 
} else { 
    $hdrs = "'".$txt."','".$_SESSION['id']."'"; 
} 
echo '<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis('.$hdrs.');"> OK</button>'; 

生成的HTML應該是這樣的,但它是不正確的。

<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis('<img src = "../folder/file.jpg">','15');">OK</button>'; 

我試着用反斜槓\'\"逃跑,但他們沒有工作。周圍是什麼?

+1

您是否嘗試過\\\'和\\\「。 – hherger

回答

1

嘗試更新您的以下代碼。由於引號衝突,反斜槓不起作用的原因。

if ($choice == 1) { 
    //$img = '<img src = "../folder/'.$path.'">'; 
    $img = "<img src = \'../folder/" . $_SESSION["img"] . "\'>"; 
    $hdrs .= "'" . $img . "','" . $_SESSION["id"] . "'"; 
} else { 
    $hdrs = "'" . $txt . "','" . $_SESSION["id"] . "'"; 
} 
echo '<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis(' . $hdrs . ');"> OK</button>';