AngularJS:具有相同ng-model和name属性的表单输入

时间:2014-10-24 21:00:32

标签: html angularjs forms input

我目前正在AngularJS中实施一个表单,我遇到了这个问题,我无法弄清楚它为什么会发生。

以下是问题:

当我输入相同的 ngModel 名称和名称属性名称时,输入字段会被[object Object]填充。

例如:<input type="text" ng-model="myForm.firstname" name="firstname"> 将导致enter image description here

我猜这是由名称绑定到 ngModel 引起的。不确定为什么以及导致这种情况的原因..

以下是plunker:http://plnkr.co/edit/ErEuQK4WNuAC6fg0xmJQ?p=preview

提前致谢:)

1 个答案:

答案 0 :(得分:4)

这源于您表单的名称。 Angular会自动在范围中设置表单,并使用每个输入的name属性来表示该输入。它包含所有验证和其他字段级元数据。

因此,您不应直接修改$scope表格(在您的情况下为myForm)。如果您尝试存储输入的值,则应使用其他对象。

<form name="myForm">
  <input type="text" ng-model="myFormValues.firstname" name="firstname">
  <input type="text" ng-model="myFormValues.lastname" name="last_nm">
</form>