对于特定的用例,我必须以“旧方式”提交单个表单。意思是,我使用带有action =“”的表单。响应已流式传输,因此我不会重新加载页面。我完全知道,典型的AngularJS应用程序不会以这种方式提交表单,但是到目前为止,我别无选择。
也就是说,我尝试从Angular填充一些隐藏字段:
<input type="hidden" name="someData" ng-model="data" /> {{data}}
请注意,显示的是正确的数据值。
该表格看起来像一个标准表格:
<form id="aaa" name="aaa" action="/reports/aaa.html" method="post">
...
<input type="submit" value="Export" />
</form>
如果我点击了提交,则没有值发送到服务器。如果我将输入字段更改为键入“文本”,它将按预期工作。我的假设是隐藏字段没有真正填充,而文本字段实际上是由于双向绑定而显示的。
有什么想法可以提交由AngularJS填充的隐藏字段吗?
<input type="hidden" required ng-model="data.userid" ng-init="data.userid=pivot.id" />
。这可能不是正确的做法,但对我有用。
display: none;
?太丑了。Angular会忽略隐藏的元素。