Angularjs文本区域未处理换行符
Angularjs textarea not processing line breaks
我有以下html:
<div class="form-group">
<div class="input-group col-sm-12">
<label for="" class="control-label">Comments</label>
<div class="controls">
<textarea id="txtArea" rows="10" cols="50" ng-model="$parent.comments" type="text" ng-trim="false"></textarea>
{{comments}}
</div>
</div>
</div>
在我的js控制器中有以下内容:
$scope.updateComments = function()
{
$http({
method: 'POST',
url: '/create_comment/' + $scope.id+ '?comments=' + $scope.comments,
})
.success(function(data){
$('#myModalComment').modal('hide');
})
}
问题是,每当我处理文本区输入的换行符时,它都不会处理
例如,如果我想键入以下行:
first line
second line
我的输出是这样的:
第一行第二行
我该如何解决这个问题?
更新:
如果这可能是PHP esacpes html字符的后端问题,下面是我在PHP控制器中的函数:
public function createComments($id)
{
$comments = Input::get('comments');
$log= Logger::find($id);
$log->comments= $comments;
$log->save();
}
如果我理解正确,问题就在以下几行:
<textarea id="txtArea" rows="10" cols="50"
ng-model="$parent.comments" type="text" ng-trim="false"></textarea>
{{comments}}
CCD_ 1没有显示断线。
但这是HTML的自然行为。还有自然的HTML解决方案<pre>
:
<textarea id="txtArea" rows="10" cols="50"
ng-model="$parent.comments" type="text" ng-trim="false"></textarea>
<pre>{{comments}}</pre>
参见http://www.w3schools.com/tags/tag_pre.asp:
<pre>
标记定义了预先格式化的文本。
<pre>
元素中的文本以固定宽度字体(通常为Courier)显示,并保留空格和换行符。
$scope.$watch('$parent.comments', function(newVal) {
var newVal= newVal.replace(/'r?'n/g, '<br />');
$scope.$parent.comments = newVal;
},true);
试试这样的东西:)
相关文章:
- 如何在映射数组中添加换行符
- JQuery:向多个匹配结果添加换行符的最简单方法
- 在文本区域中使用jQuery.text()保持换行符
- javascript替换换行符和特殊字符
- 换行符拆分返回“”;未定义”;
- 如何使用web浏览器在NoSQL数据中呈现换行符
- 换行符插入jquery选择器
- jquery使用val()复制值似乎可以删除换行符
- 文本区域-获取每一行,找到换行符
- 处理字段中带有换行符的csv文件-node.js
- 使用jquery将单个换行符替换为span元素
- 文本区域换行符未显示
- 当从代码后台输出Javascript时,如何处理换行符
- 换行符导致 JavaScript 中的错误“未终止字符串文字”
- 在JavaScript中处理来自backingbean的换行符
- Angularjs文本区域未处理换行符
- JSON:处理textArea中的换行符(和其他无效的JSON字符)
- 如何在依赖JavaScript的Struts表单中处理换行符
- 处理vars中带有换行符的字符串
- 有人能解释为什么换行符使返回语句在JavaScript中未定义吗