【问题标题】:Disable a button after submitting form when form already has form.valid field set for [disabled] field当表单已经为 [disabled] 字段设置了 form.valid 字段时,在提交表单后禁用按钮
【发布时间】:2019-09-20 11:12:57
【问题描述】:

我有一个响应式表单,它由一个按钮和两个其他字段组成。

我已经设置了一个验证器。如果验证器为真,我将通过“FormName.valid”启用该按钮,同样,如果它为假,则该按钮被禁用

我想要什么?

我想在点击提交按钮后禁用按钮

我尝试了什么?

我试过FormName.reset(),它确实禁用了按钮,但是当我的微调器正在运行时,它在后台显示两个空字段的错误。 (所以,我不想这样做)

HTML:

<form [formGroup]="FormName" (ngSubmit)=sendData()>
       // Two other fields here
        <div id="frame-send-button" text-center>
            <button [disabled]="!FormName.valid" type="submit">
                Submit
            </button>
</form>

打字稿

表单初始化

this.FormName= new FormGroup({
        field1: new FormControl(this.field1value, Validators.required),
        field2: new FormControl(this.field2value)
    }, IsFutureValidator('somevalidator'));

有什么建议吗?

【问题讨论】:

  • 为什么不包含一个点击事件监听器 document.getElementById('submitForm').disabled = 'disabled'; },
  • 你的脚本中还有一个额外的“}”。
  • @shadoe2020 我没有得到 '.disabled',作为 document.getElementbyId 中的一个选项
  • .setAttribute('disabled') 怎么样
  • 有效!谢谢。如果您希望我接受,您可以将其作为答案提交。

标签: javascript angular typescript


【解决方案1】:
document.yourQuerySelector('submitForm').setAttribute('disabled');

这会将您选择的属性添加到任何元素。在这种情况下,“禁用”将起作用。

【讨论】:

    猜你喜欢
    • 2021-05-11
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    相关资源
    最近更新 更多