作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个小的 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/
我是一名优秀的程序员,十分优秀!