AngularJS不发送隐藏字段值

前端之家收集整理的这篇文章主要介绍了AngularJS不发送隐藏字段值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于一个特定的用例,我必须提交一个单一的形式“旧方式”。意味着,我使用一个带有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" name="someData" value="{{data}}" /> {{data}}

编辑:看到这个线程在github:https://github.com/angular/angular.js/pull/2574

编辑:

从Angular 1.2开始,您可以使用“ng-value”指令将表达式绑定到输入的value属性。这个指令应该与输入无线电或复选框一起使用,但与隐藏输入工作良好。

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

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

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

原文链接:https://www.f2er.com/angularjs/147580.html

猜你在找的Angularjs相关文章