相关疑难解决方法(0)

对于HTML表单输入字段,disabled ="disabled"和readonly ="readonly"之间的区别是什么?

我已经对此有所了解,但我似乎无法找到关于不同浏览器如何处理事物的任何信息.

html cross-browser

398
推荐指数
5
解决办法
21万
查看次数

Angular 2禁用控件不包含在form.value中

我注意到如果我禁用Angular 2反应形式的控件,那么控件不会包含在form.value中.例如,如果我定义我的表单如下:

this.notelinkingForm = new FormGroup({
    Enabled: new FormControl(settings.Enabled, Validators.required),
    LinkToPreceeding: new FormControl({value: settings.LinkToPreceeding, disabled: !settings.Enabled}, Validators.required),
    LinkingTolerance: new FormControl({value: settings.LinkingTolerance, disabled: !settings.Enabled}, Validators.required)
});
Run Code Online (Sandbox Code Playgroud)

并检查this.notelinkingForm.value,如果启用了所有控件,则输出将为:

{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"} 
Run Code Online (Sandbox Code Playgroud)

但是,当某些控件被禁用时,它将是:

{"Enabled":true} 
Run Code Online (Sandbox Code Playgroud)

请注意如何排除禁用的控件.

我的意图是,当表单更改时,我希望能够将form.value与其中的所有属性一起传递给我的rest API.如果它不包含禁用的项目,这显然是不可能的.

我在这里遗漏了什么或这是预期的行为吗?有没有办法告诉Angular在form.value中包含禁用的项目?

欢迎你的想法.

angular2-forms angular

88
推荐指数
3
解决办法
2万
查看次数

标签 统计

angular ×1

angular2-forms ×1

cross-browser ×1

html ×1