【问题标题】:Jquery Validate. Validate on "keyup" and hide form when password is correctjQuery 验证。验证“keyup”并在密码正确时隐藏表单
【发布时间】:2014-08-07 16:58:31
【问题描述】:

我想实现一个不常见的功能,我认为 jquery validate 插件是最好的方法(如果你建议并回答没有插件,它也会受到欢迎)。一旦用户在输入字段中输入正确的单词,我想隐藏表单。 我试过这个:

  $("#beta_form").validate({
    onsubmit: false,
    onkeyup: true,
    rules: {
        beta_password: "1789"
    },
    success: function(){
        $("#beta_form").addClass("hidden");
    }
  });

因此,只要用户输入“1789”(无需点击提交),表单就应该隐藏。

我收到此错误:

 TypeError: settings[eventType].call is not a function

【问题讨论】:

    标签: javascript jquery forms jquery-validate


    【解决方案1】:

    我没有使用验证插件就完成了

    HTML:

    <form id="formid">
        <input type="text" id="password" ></input>
        <input type="submit"></input>
    </form>
    

    jQuery :

    $("#password").keyup(function(e){
        if($(this).val() ==='1789'){
            $("#formid").hide();
        }
    });
    

    Working Fiddle

    【讨论】:

    • 这根本没有回答 OP 的问题。
    • @Sparky OP 还说“(如果你建议并在没有插件的情况下回答,它也会受到欢迎)”而且对于这个简单的任务,我不需要加载完整的 jquery-validate 插件我的观点是对的吗?...
    • 你是对的,他也在不使用插件的情况下要求答案,所以我删除了我的反对票。但是,我认为修复他提出的损坏代码的答案比进入新方向对其他人更有帮助。
    【解决方案2】:

    这不是一个有效的设置...

    onkeyup: true
    

    As per documentation,

    onkeyup

    类型:布尔值或函数()

    验证keyup 上的元素。只要该字段未标记为 无效,没有任何反应。否则,将检查每个 keyup 的所有规则 事件。设置为false 以禁用。设置一个函数来决定 自己何时运行验证。

    布尔值true 不是有效值

    换句话说,对每个keyup 事件的验证已经是默认 行为,因此您不能将此选项设置为true。您只能将此选项设置为false(禁用)或功能(覆盖)。保留该选项以保留默认行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多