[英]Angular 4 ngSubmit not getting values from jquery populated inputs
我用jquery以編程方式填充表單輸入字段值。 這些值在表格中可見。 當我console.log提交表單數據時,該數據不包含值。 當我手動修改值時,數據確實包含值:
我運行一個填充輸入字段的函數:
$('#itemNum').val('myNewValue');
這樣會填充輸入:
<input type="text" [(ngModel)]="item.number" name="number" id="itemNumber" class="form-control">
我可以在輸入字段中看到這個新填充的值。 如果我編輯該輸入,則可以獲取提交值。 但是,如果我將其保留原樣,它只會返回組件定義的屬性:
export class MyComponent implements OnInit {
item: Item = {
number:0,
...
}
onSubmit(value){ console.log(value) }
}
如何獲取ngForm / ngModel / ngSubmit來查看這些jquery填充的值?
僅供參考,我的表格如下所示:
<form novalidate #f="ngForm" (ngSubmit)="onSubmit(f)">
<input type="text" [(ngModel)]="item.number" name="number" id="itemNumber" class="form-control">
...
<input type="submit" class="btn btn-primary" value="Confirm">
</form>
Angular和jQuery是不同的東西,Angular無法知道jQuery所做的更改,您不應該使用它,因為這就是您使用Angular的目的。
如果您需要以編程方式更改值,則只需:
this.item.number = 10;
如果您使用的是“反應式表單”,則可以這樣進行:
this.form.get('item.number').setValue(10);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.