如何在AngularJS表单元素内的输入字段中自动调整第一个字符的资本?
我已经看到了jQuery解决方案,但是相信在AngularJS中必须通过使用指令来完成.
我有以下简单的输入.
<input type="text" placeholder="What is your username?" />
Run Code Online (Sandbox Code Playgroud)
当我text-transform: capitalize;用来大写每个单词的第一个字母时,占位符也会被大写:What Is Your Username?
如何保持占位符完整?
我没有做任何太特别的事情.
我有一个输入,我希望每次击键都有效.如果验证失败,则显示错误.不要等待模糊事件触发$ touch.
我认为这是默认情况,但显然不是.我使用角度材料和角度消息.我正在为封锁检测这样做.
标记:
<form name="primaryLogin" novalidate>
<md-content layout-padding layout="column">
<md-input-container flex>
<label>Login ID</label>
<input type="text" required="" name="login" ng-model="primary.loginID" capslock>
<div ng-messages="primaryLogin.$error">
<div ng-message="required">
Please enter a Login ID.
</div>
<div ng-message="capslock">
Caps Lock is ON!
</div>
</div>
<pre>{{ primaryLogin | json }}</pre>
</md-input-container>
</md-content>
</form>
Run Code Online (Sandbox Code Playgroud)
当我第一次来到页面,打开大写锁定,并开始输入,我的错误消息如下所示:
{
"$error": {
"capslock": [
{
"$viewValue": "Q",
"$validators": {},
"$asyncValidators": {},
"$parsers": [
null
],
"$formatters": [
null,
null
],
"$viewChangeListeners": [],
"$untouched": false,
"$touched": true,
"$pristine": false,
"$dirty": true,
"$valid": …Run Code Online (Sandbox Code Playgroud) 我知道这对于 jquery 是可能的,但我不知道如何使用 Angular js 做到这一点,请问有什么建议吗?
function mayuscula(campo){
$(campo).keyup(function() {
$(this).val($(this).val().toUpperCase());
});
}
Run Code Online (Sandbox Code Playgroud) angularjs ×2
capitalize ×2
input ×2
css ×1
html ×1
javascript ×1
ng-messages ×1
placeholder ×1