jquery maskedinput删除蓝色屏幕上的不完整文本

jquery maskedinput删除蓝色屏幕上的不完整文本,jquery,maskedinput,Jquery,Maskedinput,这里还有另一个StackOverflow帖子,这正是我正在讨论的问题。但答案只有一个,没有那么大帮助 所以我转载,希望有人能找到解决这个问题的办法 我有一个带有可选电话号码字段的表单,其中应用了jquerymaskedinput插件和jqueryvalidator插件 在没有特殊设置的情况下,每次我将电话号码字段设置为nothing(这是可选的)后将其从tab中移出时,验证器都会抛出一个错误,说“输入一个有效的电话号码”。但该字段不是必需的 因此,基于此,我尝试将以下代码添加到验证器的onfoc

这里还有另一个StackOverflow帖子,这正是我正在讨论的问题。但答案只有一个,没有那么大帮助

所以我转载,希望有人能找到解决这个问题的办法

我有一个带有可选电话号码字段的表单,其中应用了jquerymaskedinput插件和jqueryvalidator插件

在没有特殊设置的情况下,每次我将电话号码字段设置为nothing(这是可选的)后将其从tab中移出时,验证器都会抛出一个错误,说“输入一个有效的电话号码”。但该字段不是必需的

因此,基于此,我尝试将以下代码添加到验证器的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的一个已知问题,但我找不到任何解决方案


所以我的问题仍然存在。。这个问题有解决办法吗?

我也遇到了类似的问题——在失去焦点后,电话输入被我屏蔽了。嗯,我偶然发现:

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