【问题标题】:How to disable button when this length satisfies当此长度满足时如何禁用按钮
【发布时间】:2022-02-26 16:52:23
【问题描述】:

当这个长度条件满足时,如何禁用下面的 div。请检查并帮助我..

<div *ngIf="setUpWizardForm.get('projectTitle').value && slpPlat && (setUpWizardForm.get('projectTitle').value.length + slpPlat.length) > 50" >
    <span 
        class="error-message" 
        style="padding-left:15px;"
    > 
        Project Name - maximum of 50 characters allowed 
    </span>
</div>

<!-- Here want to disable that div in below button. Please help -->

<button 
    href="javascript:void(0);" 
    class="slm-user-action-btn" 
    [disabled]='setUpWizardForm.invalid || !projectNameFilled' 
    *ngIf="currentSlide==3" 
    type="button" 
    (click)="projectConfigured(templateInProcess)"
> 
    Configure
</button>

【问题讨论】:

    标签: angular


    【解决方案1】:

    要在 projectTitle 字段中超过字符时禁用按钮并使用后缀作为 slpPlat,我们可以通过以下方式进行:

    1. 在您的输入类型 projectTitle 上保留一个 onChange() 函数。所以它会像&lt;input name="projectTitle" onChange="checkFieldLen()" />
    2. 现在在这个函数以及 ngAfterViewInit() 钩子上需要计算输入字段的长度。
    3. 您可以使用 ElementRef (How to get ElementRef reference from NgModel FormControl in NgForm in Angular 4+) 访问 .ts 文件中的输入元素
    4. 现在检查两个位置的长度(包括后缀)并切换布尔变量以启用/禁用按钮

    【讨论】:

    • 实际上当我输入上面的 50 个字符时,该按钮将禁用。我写了 50 个字符条件,那个条件很好。现在我想禁用上述和现有代码中超过 50 个字符的按钮。请帮忙
    • 所以我们的理解是你想在字符超过 50 个时禁用按钮对吗?
    • 是的,正确。请帮忙
    • 您能否提供更多关于 setUpWizardForm 和 projectNameFilled 的详细信息(代码),以便我们提供准确的帮助
    • setUpWizardForm 是表单名称和 projectNameFilled - 他们将布尔变量用于其他验证。
    猜你喜欢
    • 2019-07-23
    • 1970-01-01
    • 2018-11-15
    • 2021-09-24
    • 2021-09-11
    • 2018-04-10
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多