1

我无法让一个简单的 jQuery 验证示例正常工作。如何修改这个小提琴以使字段在失去焦点时验证?

http://jsfiddle.net/jeljeljel/wyB3w/2/

HTML

<div id="pseudoForm">
    <input type="text" name="first_name" />
    <input type="text" name="last_name" />
</div>

JS

$("#pseudoForm").validate({
    onfocusout: true,
    rules: {
        first_name: "required",
        last_name: "required"
    }
});
4

3 回答 3

3

您的脚本+标记似乎有很多问题,

  1. 输入元素必须在表单内。
  2. 输入元素必须id与您的代码一起使用(尊敬的人已引起我的注意;Sparky,这不是必需的
  3. 如前所述,您缺少一个}
  4. jQuery 验证适用于表单
  5. onfocusout可以falsefunction(){}

检查这个 jsfiddle,包含更正的代码

正确的 HTML IMO

<form id="pseudoForm" >
    <input type="text" name="first_name" id="first_name" />
    <input type="text" name="last_name" id="last_name" />
</form>

正确的 Javascript

$("#pseudoForm").validate({
    onfocusout: function(fld){$(fld).valid()},
    rules: {
        first_name: 'required',
        last_name: 'required'
    }
});

然后你必须找到一些用鼠标发布表单的方法:D 但这不是 validate 工作所必需的

于 2013-04-29T20:56:17.227 回答
1

您缺少对象的关闭}rules

于 2013-04-29T20:35:50.353 回答
1

由于您最近的编辑,我只看到三个问题:

1 ) onfocusout只能是false或函数。将其设置为 true 将破坏插件。默认情况下,插件的onfocusout验证仅在初始提交后激活。所以我只是修改了默认的回调函数,让它立即生效。

2 ) 你只能在form元素上使用这个插件。

3 ).validate()包含在 DOM 就绪处理程序中。

工作演示:http: //jsfiddle.net/cKeeN/

jQuery :

$(document).ready(function () {

    $("#pseudoForm").validate({
        onfocusout: function (element, event) {
            this.element(element);
        },
        rules: {
            first_name: "required",
            last_name: "required"
        }
    });

});

HTML

<form id="pseudoForm">
    <input type="text" name="first_name" />
    <input type="text" name="last_name" />
</form>
于 2013-04-30T15:09:59.767 回答