【问题标题】:extra mystery space in php codephp代码中的额外神秘空间
【发布时间】:2009-03-28 09:55:40
【问题描述】:

我正在尝试将一个变量 frm php 传递给一个 javascript 函数,但是一个空格不断出现,我看不到怎么做。

相关php代码sn-p:

<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>

【问题讨论】:

    标签: php javascript ajax


    【解决方案1】:

    执行 var_dump($brand) 并仔细观察 - 几乎可以肯定其中有一个空格!

    在这种情况下,你可以通过trim来防范

    $brand=trim($brand);
    

    【讨论】:

    • var_dump($brand);返回 string(1) "o" ,绝对没有空格。
    【解决方案2】:

    变化:

    <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>
    

    告诉我们进展如何。

    【讨论】:

    • "在第一行的末尾,我在 deleteRec 的链接前呼应了品牌,并且它不包含空格"
    • @bzlm,调试就是不相信这样的假设。他没有发布足够的代码来确保变量中没有空格。
    • 不管怎样,如果你对 $brand 进行修剪,它应该可以修复它。如果无法访问您的所有代码,我们无法说出为什么确切地在 $brand 中添加了一个空格 :)
    • 为什么以及空间来自哪里?调用 deleteRec 之前 $brand 的内容不包含空格,如何在两者之间添加空格?
    • 没有看到设置 $brand 的代码,我们应该如何回答这个问题?
    【解决方案3】:

    尝试回显以下内容:

    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>
    

    更易于阅读和维护。

    【讨论】:

    • 那就太奇怪了 :) php 中的错误或浏览器缓存了什么?
    猜你喜欢
    • 2017-12-13
    • 2012-11-10
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2013-08-30
    • 2018-02-26
    • 1970-01-01
    • 2015-04-28
    相关资源
    最近更新 更多