在angularjs中,如何获取输入html textarea
的确切文本,我还想跟踪换行符'\n'
(在textarea中)。我想将此textarea存储到数据库与输入textarea完全相同。但是它将所有文本都排成一行。
如何检测新行被插入html-area?
我可以使用<pre> {{someText}}</pre>
,但这不会解决我的问题,因为我想存储到数据库中。
<div class="col-md-12">
<div class="col-md-6">
<label >Location Based Address </label>
<textarea rows="4" cols="25" class="form-control" ng-model="someText">
</textarea>
</div>
</div>
答案 0 :(得分:1)
我相信该模型确实会保存换行符,请参阅this对您的plunkr进行小编辑,使用<pre>
标记来显示数据。
此外,当我将数据保存到SharePoint列表时,在“富文本”字段中,它会保存换行符。我认为您的问题是服务器不保留新行。
答案 1 :(得分:1)
请检查我是否编辑了您的plunker代码。 Check updated code
angular.module('app', ['ngSanitize'])
.controller('SomeController', function($scope,$sce) {
console.log($scope.someText);
$scope.$watch('someText', function(){
console.log($scope.someText);
$scope.text = $scope.someText;
$scope.text = $scope.text.replace(/\n\r?/g, '<br />');
$sce.trustAsHtml($scope.text)
})
})
希望这会对你有所帮助。
答案 2 :(得分:0)
你可以用\n
替换空格并以这种方式存储,但我不确定如何强大&#39;这个解决方案将是。
答案 3 :(得分:0)
来自textarea的值通过someText
按原样传递给ng-model="someText"
。您无需对控制台中的文本执行任何操作。
如果您想在页面某处打印值,同时在用户输入新行时保留新行,请使用<pre>
标记:
<pre>{{ someText }}</pre>
答案 4 :(得分:0)
嗯,我不确定发生了什么,但我会尝试一下所有可能发生的事情: