【发布时间】:2016-12-03 00:07:24
【问题描述】:
我的应用中有一个文本区域,如下所示:
<textarea type="text" class="form-control" name="bioBackground" ng-model="obj.background" value="obj.background" ng-change="autosave()" maxlength="1500" required></textarea>
这是一个必填字段,如您所见,我在代码中添加了一个必填标签。但是这个必需的标签会导致 Angular 出错。
例如:
如果我在字段和退格键中键入并删除所有文本,则会将对象从范围中删除。见下面的例子:
退格前
你可以看到背景变量在范围内。
退格并删除文本后:
你可以看到背景变量已经从作用域中消失了。
只有在我使用 required 标记时才会发生这种情况。如果我不使用所需的标签,它可以正常工作,即使在删除所有文本后,背景变量也会保持在范围内。
我做错了什么。
【问题讨论】:
-
那个包含
experience和background的对象是在你的控制器中创建的吗? -
@KreepN 是的,就像这样
$scope.obj = {} -
我自己检查了一下,那是一些疯狂的东西。也找不到有关上述问题的任何文档。希望其他人有一些见解
-
@KreepN 有什么建议吗?我可能在控制器而不是前端提交时验证了我的字段。
-
我想这取决于你的最终目标,我认为这更像是一个有趣的 Angular 行为。我的意思是,即使它被从范围中删除,如果没有在文本区域中为您提供值,也应该无法提交表单。相关框应保持红色。
标签: javascript angularjs textarea