Angular 获取表单元素

Kap*_*ius 5 javascript angularjs

我正在尝试从传递给函数的表单中获取元素名称和类。我怎样才能做到这一点?

HTML 端。

   <form name="test">
    <div>
         <input type="text" class="test1" name="test2"/>
    </div>
    <div>
         <input type="text" class="test3" name="test4"/>
    </div>
    </form>
    <div>
         <input type="button" data-ng-click="save(test)" />
    </div>
Run Code Online (Sandbox Code Playgroud)

和 JavaScript 端

$scope.save = function(form){
   for(how many elements are there)
       (get elements values)
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点,甚至可以这样做吗?我的目的是在必要时更改类和其他一些属性。

小智 3

我对 AngularJS 比较陌生,但我将做出扎实的尝试来回答以测试我的知识,并希望对您有所帮助。

因此,在您的表单中,您应该在每个元素上使用 ng-model。例如,下面是一个可以收集用户名字和姓氏的表单:

 <form name="test">
<div>
     <input type="text" class="test1" name="test2" data-ng-model="user.name/>
</div>
<div>
     <input type="text" class="test3" name="test4" data-ng-model="user.last/>
</div>
</form>
<div>
     <input type="button" data-ng-click="save(test)" />
</div>
Run Code Online (Sandbox Code Playgroud)

这将允许您通过 $scope.user 访问表单中的数据。

现在,对于更改类和属性,我不确定什么规则规定了表单上的类/属性更改,但是您可以使用 ng-dirty 类作为“标志”来监视用户何时进行更改。这里提供一些关于您到底想要实现什么目标的更多信息将会有所帮助。

  • @Kapaacius听起来你正在做表单验证,Angular已经内置了:http://docs.angularjs.org/guide/forms。这有点复杂,但所有的部分都在那里。 (2认同)