当前位置: 首页 > 面试题库 >

AngularJS不发送隐藏字段值

庄博厚
2023-03-14
问题内容

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

编辑:

从Angular 1.2开始,您可以使用’ng-value’指令将表达式绑定到input的value属性。该指令应与输入单选框或复选框一起使用,但与隐藏的输入一起使用时效果很好。

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

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


 类似资料:
  • 对于一个特定的用例,我必须以“老方法”提交一个单一的表单。意思是,我使用带有action=“”的表单。响应是流式的,所以我不会重新加载页面。我完全知道一个典型的AngularJS应用程序不会以这种方式提交表单,但到目前为止我没有其他选择。 话虽如此,我试着从Angular填充一些隐藏的字段: 请注意,数据中的正确值已显示。 表单看起来像标准表单: 如果点击submit,则不会向服务器发送任何值。如

  • 问题内容: 在以下情况下: 学生“隐藏人的ID字段。 如果我们想在内存中表示以下内容: 约翰对象会为storint Person.ID及其自己拥有两个单独的存储位置吗? 问题答案: 正确。示例中的每个类都有其自己的int IDid字段。 您可以通过以下方式从子类中读取或分配值: 或在外部(当它们是公开的时):

  • 排除不显示字段 Model.findAll({ attributes: { exclude: ['baz'] } });

  • 操作步骤: ①在"图层管理"模块,选择需要设置的图层,点击"更多"按钮。 ②选择"设置信息窗"按钮。 ③弹出"信息窗设置"窗口。 ④隐藏字段,将显示字段的√去掉,点击"应用"。 ⑤点击记录,弹出窗口字段已经隐藏。 字段隐藏前: 字段隐藏后: 注意 ●在不删除字段的情况下,设置信息窗中需要显示的字段,默认是全部显示。 ●标题字段无法隐藏。 操作动图: [查看原图]

  • 我在Spring MVC(4.1.1)中使用了Thymeleaf(Tymeleaf-Spring4-2.1.3),并有一个模型/命令对象,如下所示: Thymeleaf如何确定必须生成隐藏字段? 即使我将属性更改为 这里相同:没有隐藏字段。

  • 问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容: