字段有效后立即启用提交按钮

Enable submit button as soon as field is valid

我有以下模型(删除了一些不相关的东西):

import * as ko from "knockout";

export class RecipientsModel {
    private surveyId: string;
    editBulkAccounts = ko.observable([]);
    firstName = ko.observable("");
    debugData = ko.observable("");
    constructor() {};

    public addRecipients() {}
}

还有这个模板:

<script type="text/html" id="recipients">
  <!-- ko with: recipient -->
  <form data-bind="submit: addRecipients">
    <div class="form-item form-type-textarea form-item-bulk-accounts">
      <label class="control-label" for="edit-bulk-accounts">Email addresses or mobile number<span class="form-required" title="This field is required.">*</span></label>
      <div class="form-textarea-wrapper resizable textarea-processed resizable-textarea">
        <textarea data-bind="value: editBulkAccounts" class="form-control form-textarea required" id="edit-bulk-accounts" name="bulk_accounts" cols="60" rows="5"></textarea></div>
    </div>
    <input type="submit" id="edit-submit--7" name="op" value="Mark participation" class="form-submit btn btn-fill btn-wd" data-bind="enable: editBulkAccounts().length">
  </form>
  <div data-bind="text: debugData">Test</div>
  <!-- /ko -->
</script>

当我第一次加载页面时,我的提交按钮按预期被禁用。当我在文本区域中输入文本时,我想提交按钮以立即启用 - 即使只有一个字符也可以。发生的情况是,在文本区域失去焦点之前,提交不会启用,即跳出或单击页面上的其他位置。

是否可以使用 knockoutjs 进行数据绑定,以便在 textarea 有任何内容时立即启用提交按钮?如果可以,怎么做?

尝试使用 textInput 绑定而不是文本框上的值——它应该会立即更新