验证后使用数据属性进行jQuery验证

时间:2017-03-15 02:37:54

标签: jquery jquery-validate

我正在使用带有数据属性的jQuery验证规则,它正常工作但是一旦验证了必需字段,其余的jquery代码就不起作用了。所以它确实验证了ItemID,但之后成功函数不起作用。

以下是代码:

HTML

<input type="text" name="itemID" id="itemID" class="required" data-rule-required="true" data-msg-required="Please enter an item to search">

Jquery

<script>
$(document).ready(function()
{
    var validator = $("#Form").validate(
    {
        errorClass: 'validateError',
        errorContainer: ".EmphasisDanger",
        wrapper: "li"
    },
    success: function(){
       stItems = $('#itemID').val().replace(/(?:\r\n|\r|\n)/g, ',');
        document.Form.target='_parent';
        document.Form.action='/admin/system/index.cfm?JobIDs=' + stItems;
        document.Form.submit();
        });
});

1 个答案:

答案 0 :(得分:0)

你的结构毫无意义。

看起来应该是这样的......注意逗号和大括号的位置......

$(document).ready(function() {

    var validator = $("#Form").validate({
        errorClass: 'validateError',
        errorContainer: ".EmphasisDanger",
        wrapper: "li",
        success: function() {
            .... 
        }
    });

});

根据success回调函数的the docs

  

如果指定,则显示错误标签以显示有效元素。如果给出了String,则将其作为类添加到标签中。如果给出了一个Function,则使用标签(作为jQuery对象)和验证的输入(作为DOM元素)调用它。标签可用于添加文本,例如&#34; ok!&#34;。

换句话说,success功能不是您提交提交的地方。

也许,您打算使用the submitHandler callback function ...

$(document).ready(function() {

    var validator = $("#Form").validate({
        errorClass: 'validateError',
        errorContainer: ".EmphasisDanger",
        wrapper: "li",
        submitHandler: function(form) {
            ....
            // use the 'form' argument provided by the developer
            form.submit();
        }
    });

});