PHP代码中的额外神秘空间

时间:2009-03-28 09:55:41

标签: php javascript ajax

我正在尝试将变量frm php传递给javascript函数,但是空间不断被吸引,我看不出如何。

相关的php代码片段:

<p><a href='#' onclick=\"makewindows(" . $html . "); return false;\">Click for full description </a></p>".$brand."
        <p><a href=\"#\" onclick=\"deleteRec('".$ARTICLE_NO."', '".$brand."', '".$pg."', '".$nextArticleNo."')\">DELETE</a>

$ brand是我想传递的,而deleteRec是函数的名称。

在第一行的末尾,我在链接到deleteRec之前回显了品牌,并且它不包含任何空格。在我的测试用例中,它被设置为“o”。

然后,为deleteRec生成的链接显然包含一个空格,我不知道它来自何处。

<a href="#" onclick="deleteRec('190274380300', ' o', '2', '250343889611')">DELETE</a>

3 个答案:

答案 0 :(得分:2)

做var_dump($ brand)并仔细观察 - 几乎肯定有一个空间!

在这种情况下,您可以使用trim

来防范它
$brand=trim($brand);

答案 1 :(得分:1)

变化:

<p><a href=\"#\" onclick=\"deleteRec('".$ARTICLE_NO."', '".$brand."', '".$pg."', '".$nextArticleNo."')\">DELETE</a>

为:

<p><a href=\"#\" onclick=\"deleteRec('".$ARTICLE_NO."', '".trim($brand)."', '".$pg."', '".$nextArticleNo."')\">DELETE</a>

告诉我们它是怎么回事。

答案 2 :(得分:1)

尝试回复以下内容:

echo "--$brand--";

这样你就可以看到变量中是否有空格。

作为风格的一般问题,我会改变第二个链接:

<a href=\"#\" onclick=\"
      deleteRec('".$ARTICLE_NO."', '".$brand."', '".$pg."', '".$nextArticleNo."')\">DELETE</a>

为:

<?php
$deleteRecArgs = "'$ARTICLE_NO', '$brand', '$pg', '$nextArticleNo'";
?>
<a href="#" onclick="deleteRec(<?php echo $deleteRecArgs?>)">DELETE</a>

更容易阅读和维护。