Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串从PHP传递到锚标记的onclick处理程序_Php_Javascript_Alert - Fatal编程技术网

将字符串从PHP传递到锚标记的onclick处理程序

将字符串从PHP传递到锚标记的onclick处理程序,php,javascript,alert,Php,Javascript,Alert,我试图在服务器端将一个值传递给a标记的onclick处理程序,但当我单击链接时,它在客户端给出了不同的结果 我的PHP代码: $any="link1"; echo(" <a id='link1' href='#' onclick='VisibleFalse($any)'>[+]</a><span><b>$candidatename</b></span>"); 但它正在打印”http://localhost/...“在警报中

我试图在服务器端将一个值传递给
a
标记的
onclick
处理程序,但当我单击链接时,它在客户端给出了不同的结果

我的PHP代码:

$any="link1";
echo(" <a id='link1' href='#' onclick='VisibleFalse($any)'>[+]</a><span><b>$candidatename</b></span>");
但它正在打印
”http://localhost/...“
在警报中


如果您有任何建议,我将不胜感激。

必须引用JavaScript中的字符串文字

onclick='VisibleFalse(&quot;$any&quot;)'>
(但内在的事件属性被认为比它们的价值更痛苦,就像嵌入PHP的HTML中的Javascript一样。请改用。)


您还需要确保
$any
不包含任何将终止字符串文字的引号字符(您可能应该使用
htmlspecialchars
使其成为HTML安全的,这样它就不会终止属性值)

必须引用JavaScript中的字符串文字

onclick='VisibleFalse(&quot;$any&quot;)'>
(但内在的事件属性被认为比它们的价值更痛苦,就像嵌入PHP的HTML中的Javascript一样。请改用。)


您还需要确保
$any
不包含任何将终止字符串文字的引号字符(并且您可能应该使用
htmlspecialchars
使其成为HTML安全的,这样它就不会终止属性值)

问题是,您正在传递一个字符串,但忘记了在其中添加引号,因此最终结果将是该JavaScript函数中的一个字符串。这里有一个更好的方式来看待这个问题:

$any="link1";
// First, echo isn't a function. It can be faked to be used as one, but that's not recommended
// Second, sort out your quoting like this:
echo '<a id="link1" href="#" onclick="VisibleFalse(\''.$any.'\')">[+]</a><span><b>'.$candidatename.'</b></span>';

// OR
echo "<a id='link1' href='#' onclick='VisibleFalse(\"$any\")'>[+]</a><span><b>$candidatename</b></span>";
$any=“link1”;
//首先,echo不是一个函数。它可以伪装成一个,但不推荐这样做
//第二,像这样整理你的报价:
回显“.$candidatename.”;
//或
回显“$candidatename”;

问题是,您正在传递一个字符串,但忘记了在其中添加引号,因此最终结果将是该JavaScript函数中的一个字符串。这里有一个更好的方式来看待这个问题:

$any="link1";
// First, echo isn't a function. It can be faked to be used as one, but that's not recommended
// Second, sort out your quoting like this:
echo '<a id="link1" href="#" onclick="VisibleFalse(\''.$any.'\')">[+]</a><span><b>'.$candidatename.'</b></span>';

// OR
echo "<a id='link1' href='#' onclick='VisibleFalse(\"$any\")'>[+]</a><span><b>$candidatename</b></span>";
$any=“link1”;
//首先,echo不是一个函数。它可以伪装成一个,但不推荐这样做
//第二,像这样整理你的报价:
回显“.$candidatename.”;
//或
回显“$candidatename”;
使用HTML Unicode(可以找到其他字符)等效于引号
'

echo(" <a id='link1' href='#' onclick='javascript:VisibleFalse(&#39;$any&#39;)'>[+]</a><span><b>$candidatename</b></span>");
echo($candidatename”);
使用HTML Unicode(可以找到其他字符)等效于引号
'

echo(" <a id='link1' href='#' onclick='javascript:VisibleFalse(&#39;$any&#39;)'>[+]</a><span><b>$candidatename</b></span>");
echo($candidatename”);

为什么要在那段JavaScript中添加一个?没有循环。只是一个习惯(lol),但是上面的警告会从变量
$any
中发出值。HTML中的RegardsCharter引用是Unicode而不是ASCII(两个字符集中的39个字符恰好是
,但由于重叠,它只是ASCII)。为什么要在JavaScript中添加一个?没有循环。只是一个习惯(lol),但是上面的警告会从变量
$any
中发出值。HTML中的RegardsCharter引用是Unicode而不是ASCII(在两个字符集中,39恰好是
,但由于重叠,它只是ASCII)。