【问题标题】:jquery maskedinput removing incomplete text on bluejquery maskedinput 删除蓝色不完整的文本
【发布时间】:2012-03-05 03:15:44
【问题描述】:

here 上还有另一个 StackOverflow 帖子,这是我遇到的确切问题。但只有一个答案,并没有那么有用。

所以我重新发布,希望有人现在已经找到解决这个问题的方法。

我有一个带有可选电话号码字段的表单,其中应用了 jquery maskedInput 插件和 jquery 验证器插件。

在没有特殊设置的情况下,每次我在将电话号码字段设置为空(这是可选的)后跳出该字段时,验证器都会返回一个错误,提示“输入有效的电话号码”。但该字段不是必需的。

然后,基于this post here,我尝试将以下代码添加到验证器的 onfocusout 事件中。

onfocusout: function (element)
        {
            if (!this.checkable(element) && (element.name in this.submitted || !this.optional(element)))
            {
                var currentObj = this;
                var currentElement = element;
                var delay = function () { currentObj.element(currentElement); };
                setTimeout(delay, 0);
            }
        }

起初,这似乎可以解决问题。如果我输入有效的电话号码,则没有错误。我没有输入电话号码,没有错误。但是如果我输入了一个无效的电话号码(例如只输入 9 个字符),那么当我跳出电话号码框时,我输入的号码会被删除,并且不会显示错误。

这个问题有解决办法吗?

************更新************** 经过进一步测试,我已经确认这只是 maskedinput 的问题。如果我从电话号码字段中完全删除验证,然后在电话号码文本框中输入部分电话号码,然后将其退出,则会发生相同的行为(删除文本框中部分输入的号码)。更多谷歌搜索表明这是 jquery.maskedinput 的一个已知问题,但我找不到任何解决方案。

所以我的问题仍然存在.. 这个问题有解决方案吗?

【问题讨论】:

    标签: jquery maskedinput


    【解决方案1】:

    我遇到了类似的问题 - 失去焦点后,我的手机输入显示为空白。好吧,我偶然发现了这个: http://blog.it0091.com/2011/04/03/jquery-masked-input-prevent-field-blank-out-on-blur/

    这当然帮助了我,所以我希望它也能帮助你。 (也许这个答案应该放在你原来的问题中?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 2020-05-19
      相关资源
      最近更新 更多