【发布时间】:2019-02-13 12:50:34
【问题描述】:
我正在使用敲除 hasfocus 事件进行电话号码验证,而从输入字段验证错误应该弹出但它只会在我第二次单击它时发生,如果我第一次尝试它没有任何反应
我试图通过在函数中添加断点来调试它,所以我认为错误消息正在显示,但发生了一些事情,并且第一次单击时错误消息被删除
有人可以帮忙吗?
widget.isShippingPhoneFocus.subscribe(function (newValue) {
if (!newValue) {
var phoneValid = widget.validatePhone();
if (!phoneValid) {
widget.isPhoneValid(false);
$('#CC-checkoutAddressBook-sphone-error').text(widget.phoneErrorMsg());
$('#CC-checkoutAddressBook-sphone-error').show();
} else {
$('#CC-checkoutAddressBook-sphone-error').hide();
widget.isPhoneValid(true);
}
}
});
<input type="tel" class="form-control" name="sPhone" id="CC-checkoutAddressBook-sphone" data-bind="validatableValue: phoneNumber, widgetLocaleText:{value:'phoneNumberText',attr:'placeholder'}, valueUpdate:'keyup', hasFocus: $parent.isShippingPhoneFocus">
【问题讨论】:
-
您在哪里设置/更改 widget.isShippingPhoneFocus 的值?
标签: javascript jquery knockout.js oracle-commerce-cloud