0

我正在使用 jQuery 验证,并将我的错误写入 a div,这工作正常。我想要做的是div隐藏,当验证返回任何错误时,div显示在表单顶部。我不确定显示div.

这是我所拥有的:

HTML:

    <div id="valwrapper" class="hide">
    Validation Errors<br/><br/>
        <div id="valerrors"></div>
    </div>

JavaScript:

errorPlacement: function (error, element) {
    $('#valerrors').append(error);
},

submitHandler: function(){
    $("#valwrapper").slideDown("fast");
},
errorContainer: "#valerors",
//errorLabelContainer: "#valerrors",
//wrapper: "span", debug: true,
onfocusout: false,
onkeyup: false,
onclick: false
4

2 回答 2

0

伙计们,只是我的愚蠢。代码应该有“invalidHandler”而不是“submitHandler”。

于 2012-12-21T16:53:08.480 回答
0

这是完整的答案。不妨把它贴出来,因为我一直在努力。

您不需要errorPlacement:,因为插件会在您使用时自动为您处理errorLabelContainer:

http://jsfiddle.net/SaLNp/4/

$('form').validate({
    invalidHandler: function() {
        $("#valwrapper").slideDown("fast");
    },
    errorContainer: "#valwrapper",
    errorLabelContainer: "#valerrors",
    wrapper: "span",
    onfocusout: false,
    onkeyup: false,
    onclick: false
});​

文档:

http://docs.jquery.com/Plugins/Validation/validate#toptions

于 2012-12-21T17:01:48.813 回答