javascript – AngularJS如何提交未触及的空表单字段?
我的表格有问题.我正在提交表单,并且一些字段不必填写,当数据发送到一个宁静的API时,我看到angular不会拾取空的,从未触及,从未改变的输入字段. 我有两个输入(data.Record.one,data.Record.two),当我填写一个并提交表格时,我最终得到这个:
我想这是因为角度不会“看到”未被触及的空场.
这是我尝试的演示:http://plnkr.co/edit/Ky0PQ9U5o1V7IyU9QgkK 我很清楚我可以使用空的骨架对象初始化表单,但我真的不想那样做.如果我需要这样做,那只是额外的代码,如果另一个开发人员在表单中添加一个字段但是忘记/不知道JS代码中的骨架,那么作为奖励只会引入潜在失败的区域. 最佳答案
Angular默认将空字段视为空/ null.您可以通过在输入字段中添加ng-trim =“false”来禁用此功能.
这不会添加额外的代码,只会在您的标记上添加定义. https://docs.angularjs.org/api/ng/input/input%5Btext%5D 编辑:我现在看到你想要的. Angular会很好地照顾您的模型(数据).仅仅因为您将输入字段绑定到sub,sub属性不会使用空字符串初始化该属性.输入字段不包含空字符串 – 它们包含null,这是您首先放入它们(通过将它们绑定到未初始化的属性). 您需要的功能是角度来初始化您的数据.记录您需要的属性.您可以为该名为initialize-property的类创建一个自定义指令,该指令将其模型设置为空字符串. 编辑:我创建了指令,但由于一些跨域问题,plunker不允许我访问.您应该能够在自己的工作中使用它
然后在输入字段中使用:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |