[英]How to pass hidden value in a form?
<p>{{item.name}}</p> // Please note that this works and shows fine
<form #f="ngForm" (ngSubmit)="onSubmit(f.value)" novalidate>
<div *ngIf="editMode">
<input name="name" type="hidden" ngModel value="{{item.name}}">
<input name="eat1" type="text" ngModel >
<input name="eat2" type="text" ngModel >
<button>Submit</button>
</div>
</form>
I am able to pass eat1
and eat2
as expected, but don't see name
. 我能够按预期方式通过
eat1
和eat2
,但看不到name
。
Here's the output: 这是输出:
{name: "", eat1: "Bacon", eat2: "Egg"}
Should be: 应该:
{name: "Breakfast", eat1: "Bacon", eat2: "Egg"}
These didn't work: 这些不起作用:
<input name="name" type="hidden" ngModel value="item.name">
<input name="name" type="hidden" ngModel value={{item.name}}>
You can set the value to the ngModel
attribute and it should work: 您可以将值设置为
ngModel
属性,它应该可以工作:
Had created a Stackblitz Demo for your reference. 已创建了Stackblitz演示供您参考。
<input name="name" type="hidden" [ngModel]="item.name">
Remove value attribute and set ngModel={{your_value}}
because you are using ngModel
and value at a time: 删除value属性并设置
ngModel={{your_value}}
因为您一次使用ngModel
和value:
HTML Code: HTML代码:
<form #f="ngForm" (ngSubmit)="onSubmit(f.value)" novalidate>
<div *ngIf="editMode">
<input name="name" type="hidden" ngModel="{{item.name}}">
<input name="eat1" type="text" ngModel>
<input name="eat2" type="text" ngModel>
<button>Submit</button>
</div>
</form>
try a hidden input: 尝试隐藏的输入:
<input type="hidden" value="some-thing" name="eat1" />
Hope this will work for 希望这会为
javascript doesn't include elements that're hidden. javascript不包含隐藏的元素。
what you should to is to serialize the form , then append the hidden element to the resultant object. 您应该要做的是序列化表格 ,然后将隐藏的元素附加到生成的对象上。
note that this is in javascript, apply this concept to Angular 请注意,这是在javascript中,将此概念应用于Angular
let obj = form.serializeArray(); // expected result: {name: "", eat1: "Bacon", eat2: "Egg"}
// update name key
obj['name'] = document.querySelector('input[name="name"]');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.