字段有效后立即启用提交按钮
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 绑定而不是文本框上的值——它应该会立即更新
我有以下模型(删除了一些不相关的东西):
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 绑定而不是文本框上的值——它应该会立即更新