gpt4 book ai didi

javascript - AngularJS 不发送隐藏字段值

转载 作者:IT老高 更新时间:2023-10-28 13:15:00 25 4
gpt4 key购买 nike

对于特定用例,我必须以“旧方式”提交单个表单。意思是,我使用带有 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>

如果我点击提交,则不会向服务器发送任何值。如果我将输入字段更改为键入“文本”,它会按预期工作。我的假设是隐藏字段并没有真正填充,而文本字段实际上是由于双向绑定(bind)而显示的。

有什么想法可以提交由 AngularJS 填充的隐藏字段吗?

最佳答案

您不能对隐藏字段使用双重绑定(bind)。解决方案是使用括号:

<input type="hidden" name="someData" value="{{data}}" /> {{data}}

编辑:在 github 上查看此线程:https://github.com/angular/angular.js/pull/2574

编辑:

从 Angular 1.2 开始,您可以使用 'ng-value' 指令将表达式绑定(bind)到输入的 value 属性。该指令应与输入单选或复选框一起使用,但适用于隐藏输入。

这是使用 ng-value 的解决方案:

<input type="hidden" name="someData" ng-value="data" />

这是一个使用 ng-value 和隐藏输入的 fiddle :http://jsfiddle.net/6SD9N

关于javascript - AngularJS 不发送隐藏字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18446359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com