我正在尝试做一个简单的文本区域,其中包含“剩余的许多字符”以及验证。当我使用ng-
maxlength验证表单时,一旦长度达到最大长度,它将立即重置我的字符计数。这是笨蛋
任何解决方法?
<body ng-controller="MainCtrl">
<div ng-form="noteForm">
<textarea ng-maxlength="15" ng-model="result"></textarea>
<p>{{15 - result.length}} chars remaining</p>
<button ng-disabled="!noteForm.$valid">Submit</button>
</div>
</body>
当您的textarea超过15个字符时,result
变为undefined
-这就是ng- min/maxlength
指令的工作方式。我认为您必须编写自己的指令。这是一条指令,它将在15个字符后阻止输入:
<textarea my-maxlength="15" ng-model="result"></textarea>
app.directive('myMaxlength', function() {
return {
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
var maxlength = Number(attrs.myMaxlength);
function fromUser(text) {
if (text.length > maxlength) {
var transformedInput = text.substring(0, maxlength);
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
return transformedInput;
}
return text;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
[fiddle](http://jsfiddle.net/bZGcg/)
更新: 允许超过15个字符,但是当计数超过15个时禁用提交按钮:
link: function (scope, element, attrs, ngModelCtrl) {
var maxlength = Number(attrs.myMaxlength);
function fromUser(text) {
ngModelCtrl.$setValidity('unique', text.length <= maxlength);
return text;
}
ngModelCtrl.$parsers.push(fromUser);
}
[fiddle](http://jsfiddle.net/bZGcg/1/)
问题内容: 我可以在CSS中用某些东西代替maxlength属性吗? 问题答案: 否。这需要在HTML中完成。如果需要,可以使用Javascript设置值。
jQuery MaxLength 插件。 该插件能够为文本区设置最大长度。可以删除不再需要的最大长度功能,或者禁用/启用该字段。 在达到限制时发出警告 自定义用户反馈
我用‘固定’使‘导航’不动。然而,如果有一个“标题”,则有一个与“标题”区域一样多的边距。在向上移动了多少‘头部’区域后,我想把它固定在那个位置。我在用“反应”所以很难找到方法。我正在自学,所以我原来知道的不多,所以我来学习一些新的东西。 null null
问题内容: 我正在尝试创建一个自定义组件,该组件使用从内而外的指令使用动态ng-model。 例如,我可以调用不同的组件,例如: 使用如下指令: 想法是,如果模型发生更改,则指令中的文本框将发生更改,反之亦然。 事实是,我尝试了不同的方法,但都没有成功,您可以在此处检查以下方法之一:http : //plnkr.co/edit/7MzDJsP8ZJ59nASjz31g?p=preview在此示例中
constMemory(string $fileName); 示例 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); $fileObject = $excel->constMemory('tutorial01.xlsx'); $fileHandle = $fileObject->getH
问题内容: 我是 AngularJs的 新手。谁能说出ng-model和data-ng-model之间的区别? 与ng-model 使用data-ng-model 问题答案: 最佳实践:建议使用破折号分隔格式(例如ng-bind用于ngBind)。 如果要使用HTML验证工具,则可以改用数据前缀版本(例如ngBind的data-ng-bind)。 出于遗留原因,可以接受上面显示的其他表格,但是我们