【问题标题】:jQuery validation onfocusoutjQuery 验证 onfocusout
【发布时间】:2012-12-03 05:48:31
【问题描述】:

我在 MVC 应用程序中启用了 jQuery 验证选项,如下所示。

$.validator.setDefaults({
    onkeyup: false,
    onfocusin: false
});

这意味着验证将发生在焦点之外。 在以下情况下,我遇到了一个问题。

  1. 用户输入了无效数据并提交了表单(将显示验证错误)
  2. 用户更正了数据并单击了提交按钮,但没有将焦点从当前文本框移开。在这一步中,提交将不起作用,只会清除验证错误。如果数据正确,我需要在这里提交表格。

我为此 http://jsfiddle.net/8r47E/15/ 创建了一个 jsfiddle 请分享您对此的看法。

【问题讨论】:

    标签: jquery asp.net-mvc jquery-validate


    【解决方案1】:

    没有onfocusin: 这样的东西。你是说onfocusout:吗?

    你也没有使用过your jsFiddle中的任何一个:

        debug: false,
        focusInvalid: false,
        onkeyup: false,
        onclick: false,
    

    这是你想要的吗?

        debug: false,
        focusInvalid: false,
        onkeyup: false,
        onclick: false,
        onfocusout: false,
    

    http://jsfiddle.net/8r47E/24/

    Click here to see documentation that describes each .validate() option in great detail.

    当然,your demo,对我来说似乎工作得很好。我在submit 上获得了“成功”,而无需将光标从输入端移开。

    我不太确定您要做什么。您描述的期望行为是几乎每个人都希望此验证工作的方式,而它恰好是默认情况下的工作方式。

    即使您将onfocusout 设置为false 时出错,您仍然可以提交表单(更正错误后),而无需将光标移开,因为插件的内置提交处理程序会再次自动检查表单的有效性。

    http://jsfiddle.net/8r47E/25/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多