【问题标题】:hasfocus event in knockout not working on first click淘汰赛中的hasfocus事件在第一次点击时不起作用
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    相关资源
    最近更新 更多