gpt4 book ai didi

php - 如何将字符串传递给包含特殊字符的javascript函数

转载 作者:行者123 更新时间:2023-11-30 13:36:08 29 4
gpt4 key购买 nike

我有这个小的 php 片段:

       // $test='test';

$test='just a test';
echo "<a href=javascript:myfunction($number,$src_req,\"".$test."\")><img style='z-index:$z; src='images/$src'/></a>";

我有这个小 ajax 片段...

function myfunction(param1,param2,param3)
{
var xmlHttp = getXMLHttp();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
HandleResponse2(xmlHttp.responseText);
}
}
var p1=param1;
var p2=param2;
var p3=param3;
xmlHttp.open("GET", "config/ajax_pop.php", true);
xmlHttp.send(null);


$( '#ResponseDiv2' ).dialog({
height: 140,
modal: true,
position: [490,140],
title:param3,

});
.....

我喜欢将我的 $test php 变量传递给我的 javascript 函数,但不幸的是,如果我的 $test 变量包含 space 字符,那么 JS 脚本将不起作用。如果我的 $test 变量只包含一个词,那么效果很好。

在浏览器中,当我检查我看到的链接时:

a、如果$test变量只包含一个单词,则:javascript:myfunction(1,1,"test")

b,如果 $test 变量包含一个以上的单词,则:javascript:myfunction(1,1,"just

谢谢你的帮助...

最佳答案

使用 json_encode():http://php.net/json_encode

更新:这是一个用法示例:

<?php

$number = 1;
$src_req = 2;
$z = 3;
$src = 4;

$test = 'just a test
with spaces and new lines';
echo "<a href=javascript:myfunction($number,$src_req," . json_encode($test) .")><img style='z-index:$z; src='images/$src'/></a>";

如果它不起作用,请尝试找出它不起作用的确切原因。 “不起作用”的问题与“然后修复它”的答案一样有用。

无论如何,在一行代码中混合使用 PHP、HTML、JavaScript 和 CSS 是不值得的,即使是为了快速测试也是如此。将函数和文件中的内容分开,这会让您的生活更轻松。

关于php - 如何将字符串传递给包含特殊字符的javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4780100/

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