Javascript 选择$pristine textarea
我用的是AngularJS。我正在尝试向用户应用一些验证和反馈。设置内容的方式有点奇怪,因此Javascript 选择$pristine textarea,javascript,html,angularjs,Javascript,Html,Angularjs,我用的是AngularJS。我正在尝试向用户应用一些验证和反馈。设置内容的方式有点奇怪,因此ng required之类的内容似乎不会对它们应用到的文本区域产生影响(猜测,因为它们实际上不在中) 我正在尝试应用一个类,当其中一个字段未填写时,将边框颜色更改为红色。 在提交函数中,我正在检查一个标志。如果未验证为true,则在else块中运行该命令: <div ng-repeat="keyWordForm in keyWordForm" class="fadeInBottom">
ng required
之类的内容似乎不会对它们应用到的文本区域产生影响(猜测,因为它们实际上不在
中)
我正在尝试应用一个类,当其中一个字段未填写时,将边框颜色
更改为红色。
在提交函数中,我正在检查一个标志。如果未验证为true,则在else
块中运行该命令:
<div ng-repeat="keyWordForm in keyWordForm" class="fadeInBottom">
{{keyWordForm.snippet}} <br>
{{$scope.keywords}}
<textarea style="{{keyWordForm.style}}" ng-required="'true'" class="{{keyWordForm.ourClass}} {{errorRequired}}" name="keyWordFormTextArea" ng-model="keyWordForm.data" ng-change="columnCount()"></textarea>
</div>
但这会将CSS应用到每个文本区域,而不仅仅是$pristine
文本区域如何将CSS应用于尚未填写的字段?
我一直在尝试使用类似的东西:keywordFormTextArea.$pristine
,但是找不到一种有效的方法来使用它来达到我想要的效果
预期效果:
我意识到问题的最大部分是
{{{errorRequired}}
本质上是一个全局变量。因此,当我试图在undefined
textarea上设置它们时,它会在所有内容上设置它们。
因此,我将其添加为对象的键
$scope.keyWordForm=[
{snippet:“输入关键字:(每个关键字单独一行)”,
样式:“宽度:100%;高度:125px;”,
我们班:“,
关键字数据:$scope.keyWord,
errorRequired:$scope.errorRequired
}]; 然后在我的循环中,我可以在我的对象的当前索引中选择,并在那里设置未定义的索引
for(var i = 0; $scope.keyWordForm.length > i; i++){
if(typeof $scope.keyWordForm[i].data == "undefined"){
$scope.keyWordForm[i].errorRequired = "errorLine";
}
}
在我的HTML中,我只需要访问那个对象
class="... {{keyWordForm.errorRequired}}
瞧!这实现了只应用未定义的文本区域的CSS的功能
class="... {{keyWordForm.errorRequired}}