1 回答
TA贡献1858条经验 获得超8个赞
您不能只将 HTML 转储到 JavaScript 字符串中,一旦出现第一个单引号/双引号,它就会破坏事物,因为这将关闭字符串,只需查看正在交付的页面的源代码,就会有像这样的东西:
search_form_legis = "<form method="POST" action="/url">...";
显然这是语法错误。
如果您想将来自 PHP 的数据放在 JavaScript 中,那么建议使用json_encode(),它会将数据转换为正确的格式。
var search_form_legis = <?= json_encode(
$this->element('Search/Legislacion/form-search-legis')
) ?>;
一个字符串,如你的情况,将自动被引用和转义,即你甚至不需要在它周围加上引号,它看起来像这样:
var search_form_legis = "<form method=\"POST\" action=\"/url\">...";
话虽如此,如果根本没有不输出内容的充分理由,那么您可能需要考虑使用 CSS 规则来隐藏/显示它,类似于以下内容:
#searchDesktop {
display: none;
}
@media (min-width: 576px) {
#searchDesktop {
display: block;
}
}
添加回答
举报
