angularjs - 修剪尾随空格并在没有可见输入时显示占位符 - Angularjs
问题描述
考虑以下输入
<input ng-if="isRequired()"
type="text"
name="{{fieldNamePrefix}}[name]"
ng-value="orderCommodity.name"
class="form-control top15"
ng-disabled="disabled"
placeholder="CERTIFICATION" />
现在考虑用户输入一个空格并移动到下一个字段。由于没有可见的输入,我需要修剪该空间并再次显示占位符。
我试过ng-trim但似乎没有用。关于如何解决这个问题的任何想法?
解决方案
您将需要一个自定义指令。它触发模糊并检查输入值。如果它只包含空格,那么它将清空该值。请注意,您将需要使用ng-model
而不是ng-value
:
myApp.directive('trimDir', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
element.bind('blur', function(e) {
console.log(ctrl)
let trimmed = ctrl.$viewValue.replace(/[\s]/g, '');
if (trimmed.length == 0) {
ctrl.$setViewValue('');
ctrl.$render();
}
});
}
};
})
在html中:
<input type="text"
name="name"
ng-model="orderCommodity.name"
class="form-control top15"
placeholder="CERTIFICATION"
trim-dir />
在此处查看工作演示:DEMO
推荐阅读
- c - 要求存储字符串,并存储在带有打印的链表中,scanf
- scala - 异步编程缓存不可知(Scala 和其他语言)
- angular - 如何从 Laravel 公开 Angular 的构建?
- javascript - 如何隐藏表单并在单击时显示链接,以及如何在使用 JavaScript 单击表单时隐藏表单并显示链接
- saml - 身份提供者的多个证书(签名和加密)
- java - swagger.json 无效
- javascript - 使用父类复选框时,如何让子类复选框更改状态?
- visual-c++ - 生成符号名称的错误 LNK2005
- c# - 在 Razor 视图中将 C# 列表解析为原始文本
- python - 如何在 Jupyter 笔记本的同一单元格中包含多个交互式小部件