我目前正在AngularJS中实施一个表单,我遇到了这个问题,我无法弄清楚它为什么会发生。
以下是问题:
当我输入相同的 ngModel 名称和名称属性名称时,输入字段会被[object Object]填充。
例如:<input type="text" ng-model="myForm.firstname" name="firstname">
将导致
我猜这是由名称绑定到 ngModel 引起的。不确定为什么以及导致这种情况的原因..
以下是plunker:http://plnkr.co/edit/ErEuQK4WNuAC6fg0xmJQ?p=preview
提前致谢:)
答案 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>