如何将换行符添加到CakePHP脚本块
How do I add newlines to a CakePHP script block?
使用CakePHP,可以通过在视图中放入以下内容来插入普通JavaScript:
$this->Html->scriptStart(array('inline' => false));
echo 'alert("Hello world!");';
$this->Html->scriptEnd();
不幸的是,如果您有多个echo语句,那么所有的文本将被压缩到一个长行中。是否有办法分割行并插入换行符?
我已经试过在echo'd语句的末尾加上'n,但是没有效果。
我认为正确使用分号可以使JS在一行中正确运行,但这会带来痛苦的阅读和调试体验。
如果你不需要,你可以试着不把它放在PHP中:
<?php $this->Html->scriptStart(array('inline' => false)); ?>
alert("Hello world!");
alert("Hello world!");
<?php $this->Html->scriptEnd(); ?>
然后使用正常的js格式。
或者,您可以使用PHP_EOL
回显不在字符串字面值内的换行符。
<?php
$this->Html->scriptStart(array('inline' => false));
echo 'alert("Hello world!");' . PHP_EOL;
echo 'alert("Hello world!");';
$this->Html->scriptEnd();
?>
我不确定我是否正确理解你的问题,但尽量逃避你的'n
,因为php会在javascript轮流之前将其解释为正常字符串,因此例如:
$first = "This is first line''n";
$both = $first . "This is second line";
我最终通过使用Js->缓冲区解决了这个问题,如下所示:
echo $this->Js->buffer('$(''<input type="button" id="instaSave" value="Save"/>'')
.click(function(){
$(this).val("Saving...");
$(this).parents("form:first").ajaxSubmit({
success: function(responseText, responseCode) {
$(".food").each(function(fIndex){
...
');
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 当脚本由system.js加载时,如何要求('electron')
- HTML标记在脚本标记中工作
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 在 CakePHP 中,现在 View->addScript() 已被弃用,我如何向我的布局添加脚本*一次*
- 使用jquery助手将$(this)传递到CakePHP风格的脚本中
- JavaScript和CakePHP:如何让这个简单的脚本工作
- 如何将换行符添加到CakePHP脚本块
- 如何在CakePHP中定义脚本?