php javascript ajax奇怪的字符串错误

时间:2010-03-09 12:04:04

标签: php javascript ajax string

我在php脚本中构建一些html,以便通过Ajax将其发送回页面。

$other_content = Model_Db::dbSelect($query);

        $div_center .= "<table>";
        for($i = 0;$i<sizeof($other_content);$i++) {
            $div_center .= "<tr>";

            $div_center .= "<td><a href='#' onclick='changediv('test','0')'>".$other_content[$i]->content_name."</a></td>";
            $temp = "<td><a href='#' onclick='changediv('test','0')'>".$other_content[$i]->content_name."</a></td>";
            die($temp);

            $div_center .= "</tr>";
        }
        $div_center .= "</table>";

正如你所看到的,我正在做一个die()来查看创建的字符串。 我的输出应该是:<a href="#" onclick="changediv(" test','0')'>Content Name</a>

但相反,我得到:<a href="#" onclick="changediv(" test','0')'="">Content Name</a> 我不明白这个=“”来自我的onclick声明......

有人能看到这里有什么问题吗?我有点困惑,因为我真的没有看到它可能来自哪里!

干杯

2 个答案:

答案 0 :(得分:1)

我建议你逃避引用字符

$temp = "<td><a href=\"#\" onclick=\"changediv('test', '0')\">" . 
$other_content[$i]->content_name. "</a></td>";

\“转义字符串中的双引号

答案 1 :(得分:0)

你把单引号的功能解释搞砸为双引号:

yours <a href='#' onclick='changediv('test','0')'>

func  <a href="#" onclick="changediv(" test','0')'="">

它假设这个(%符号之间)%test','0')'=“”%是你的标签的参数,尝试用双引号替换单引号并使其符合html / xhtml:

<a href="#" onclick="changediv('test','0')">

因此,单引号和双引号将被正确设置。

您还必须更改PHP引号