click me function text(texto){ if( co-6ren">
gpt4 book ai didi

javascript - 使用引号时出错

转载 作者:行者123 更新时间:2023-12-02 17:11:51 24 4
gpt4 key购买 nike

我有以下代码:

<head>
<title>Quote Marks</title>
</head>
<body>

<?php
$variable1 = "'QUOTE' \" 'MARKS'";
?>

<button onclick="text( '<?php echo addslashes($variable1); ?>' );">click me</button>

<script type="text/javascript">
function text(texto){
if( confirm( texto ) ) {
alert("thanks!");
}
}
</script>

</body>

这不起作用!我的引号有问题...当我单击按钮时,我希望对话框显示 "$variable1" 中的文本以及所有引号...

最佳答案

您需要制作数据:

  • 安全的 JavaScript 字符串 — 使用 json_encode而不是' , addslashes ,和' .
  • 安全的 HTML 属性值 — 使用 htmlspecialchars

因此:

<button 
onclick="text(<?php echo htmlspecialchars(json_encode($variable1)); ?>);">

根据经验,处理 HTML 引号内的 JavaScript 引号内的 PHP 引号会比较麻烦。通常,您可以通过将 JS 保留在 <script> 中来摆脱至少一层嵌套。元素而不是内部属性值。

<script>
function myFunction() {
text(<?php echo json_encode($variable1); ?>);
}
document.querySelector('button').addEventListener('click', myFunction);
</script>

关于javascript - 使用引号时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com