0

我正在使用敲除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">

4

1 回答 1

0

在开始为小部件应用绑定时,请尝试为 isShippingPhoneFocus 提供错误值。它可能会解决问题。

于 2019-02-18T11:26:24.433 回答