簡體   English   中英

用PHP生成的Javascript字符串中的轉義引號字符

[英]Escape quote character within string in Javascript generated with PHP

不知道該標題是否有意義,但我會盡力解釋。

我正在用PHP生成一些內容。

我要生成的是一個字符串,如果用戶啟用了JavaScript,則會在onlick事件中吐出帶有一些JavaScript的URL,然后如果未啟用JavaScript,則生成一個常規鏈接。

$url = "<script type=\"text/javascript\">
    document.write(\"<a href='#' onclick='$('#UserID').val(" . 
            mysql_result($recordset, $count, "userid") . "); return false;'>
        Click here
    </a>\");
</script>
<noscript>
    <a href=\"/scripts/updateuser.php?id=" . 
            mysql_result($recordset, $count, "userid") . "\">Click here</a>
</noscript>"; 

我遇到的問題是#UserID的jQuery選擇器。 因為它是單引號,所以在單擊時會炸開,並處理井號,然后轉到頁面頂部,忽略return false。

我不能在其中加上雙引號,因為那是在document.write語句的開頭和結尾。

關於如何使用轉義字符或其他內容圍繞jQuery選擇器構造字符串的任何想法?

您可以使用$(\\\\'#UserID\\\\') 雙反斜杠是使PHP加上一個額外的反斜杠,以使其在onclick屬性中可用。 (此外,應遵循對該問題的第一條評論,而不要使用此答案。)

好丑的上帝。 嘗試以下尺寸:

$userid = mysql_result($recordset, $count, "userid");

$url = <<<EOL
<script type="text/javascript">
    document.write('<a href="#" onclick="$(\'#UserID\').val({$userid})); return false;">Click here</a>');
/script>
<noscript><a href="scripts/updateuser.php?id={$userID}">Click here</a></noscript>
EOL;

我不會研究1990年代的document.write的情況,但是如何處理:

<?php
    $userid = ...
?>
<a href="scripts/updateuser.php?id=<?php echo $userid ?>" onclick="$('#UserID').val({$userid}); return false;">Click here</a>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM