我在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声明......
有人能看到这里有什么问题吗?我有点困惑,因为我真的没有看到它可能来自哪里!
干杯
答案 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引号