我使用的是div 3,让我告诉你我想做什么,是使用屏幕宽度条件在CakePHP中显示蛋糕元素,它抛出了下面的错误Uncaught SyntaxError: Unexpected identifier
。我已经告诉你语法没有任何变化,没有逗号,句号等等,我遗漏了。
我需要知道的是将元素帮助器放入jquery中的正确方法:<?= $ this->element('Search/Legislacion/form-search-legis') ?>
<script>
$(document).ready(function(){
var width = $(document).width(),
search_form_legis = "<?= $this->element('Search/Legislacion/form-search-legis') ?>";
// console.log(width);
if(width >= 576){
$('#searchDesktop').html(search_form_legis);
}
});
</script>
发布于 2020-07-03 16:12:32
你不能只是把超文本标记语言转储到一个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;
}
}
https://stackoverflow.com/questions/62705888
复制相似问题