使用jQuery验证插件:onfocusout,onkeyup在生产站点上按预期工作 [英] Using jQuery validate plugin: onfocusout, onkeyup notworking as expected on production site

查看:89
本文介绍了使用jQuery验证插件:onfocusout,onkeyup在生产站点上按预期工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 jQuery Validate插件 v.1.9.0很友好地。但是,一旦用户提交表单&如果有任何错误,它会正确显示错误消息。问题是,如果用户采取措施来纠正该错误,它不会更新消息。例如。如果需要字段,在第一次收到消息时,用户开始输入,那么该消息应该消失。

I am using jQuery Validate plugin v.1.9.0 it works very nicely. But I am facing this issue, once the user submits the form & if there are any errors, it correctly display error message. The problem is that it does not update the message if the user takes an action to remedy that error. E.g. if a field is required, upon getting the message the first time, user starts typing, then that message should go away.

在文档中提到 onfocusout & onkeyup 用于此目的&默认情况下,它们设置为true。有趣的是它似乎在我的本地工作站上工作,但是一旦我将代码上传到生产站点,它就会失败(默默地)。我以为我在某种程度上把它弄得一团糟所以我开火了 jsfiddle并输入相关代码 ,看看它是否也在那里发生。

In the docs it mentions that onfocusout & onkeyup are used for this purpose & by default they are set to true. The funny thing is it seems to work on my local workstation but it fails (silently) once I upload my code to production site. I thought I was messing it up royally somehow so I fired up jsfiddle and put relevant code to see if it happens there as well.

我很高兴看到它也在那里发生。所以我的问题是为什么它可以在我的本地机器上运行而不在生产站点上运行?

I was amazed to see it happens there as well. So my question is why does it work on my local machine but not on production sites?

P.S。 http://jsfiddle.net/tankchintan/cge44/5/ 中的自包含示例

P.S. Self-contained example at http://jsfiddle.net/tankchintan/cge44/5/

更新

要复制此问题,请执行 -

To replicate the issue, do -


  1. 转到jsfiddle页面。

  2. 如果没有填写任何字段,请提交表格。

  3. 除了每个字段外,它还会显示错误信息。

  4. 现在开始输入任何一个字段。

  5. 你会注意到即使规则得到满足,错误消息也不会消失。在我的本地机器上,一旦我在字段中输入任何内容,错误判断就会消失。

  1. Go to the jsfiddle page.
  2. Without filling out any fields hit submit the form.
  3. It will show error message besides each field.
  4. Now start typing in any one of the fields.
  5. You will notice that the error message doesnt go away, even though the rule is satisfied. On my local machine that error mesaage does go away, once I type anything in the field.


推荐答案

在JQuery网站上的一些例子中甚至存在这个问题。

This problem even exists in some of the examples on the JQuery website.

我发现输入元素没有类型时会出现问题。 Web浏览器假设类型为text(如果未指定),但jquery.validate存在问题。您的input元素应如下所示:

I found that the problem occurs when the input element has no type. Web browsers assume that the type is "text" if not specified, but jquery.validate has a problem with that. Your input element should look like this:

<input id="cname" name="name" type="text" class="required" minlength="2" />

这篇关于使用jQuery验证插件:onfocusout,onkeyup在生产站点上按预期工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆