Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery验证程序复选框;“元素未定义”;_Javascript_Jquery_Validation_Checkbox - Fatal编程技术网

Javascript jquery验证程序复选框;“元素未定义”;

Javascript jquery验证程序复选框;“元素未定义”;,javascript,jquery,validation,checkbox,Javascript,Jquery,Validation,Checkbox,我试图使用jQuery验证插件来创建一个带有选项卡的多步骤表单,但是当我尝试循环所有输入时,总是会出现“element is undefined”错误。有什么建议吗?我不明白怎么了。我试着把复选框放在多个地方,但它似乎无处不在(也就是说,不只是在最后的第二个标签上) HTML部分: <div id="general"> </div> <div id="problemtab"> <p> <input type="ch

我试图使用jQuery验证插件来创建一个带有选项卡的多步骤表单,但是当我尝试循环所有输入时,总是会出现“element is undefined”错误。有什么建议吗?我不明白怎么了。我试着把复选框放在多个地方,但它似乎无处不在(也就是说,不只是在最后的第二个标签上)

HTML部分:

<div id="general">
</div>

<div id="problemtab">

    <p>
        <input type="checkbox" name"response" id="response" value="agree" class="required"><label for="response">I Agree</label>
    </p>

    <p>
        <a class="prevtab navbutton"><span>Prev</span></a>
        <a class="nexttab navbutton"><span>Next</span></a>
    </p

</div>

<div id="lasttab">
</div>

您忘记了复选框的“名称”属性有一个等号,因此未设置“名称”属性

name“response”
应该是
name=“response”


我昨天注意到jquery.validate需要元素的名称才能工作,否则它将抛出此错误。

确保页面中只有一个表单。我曾经在同一个页面中有两个表单,这导致了您提到的问题。

此错误也可能与JQuery的隐藏复选框(或RadioBox)问题有关。这个问题还没有解决,但是可以通过设置(临时)
validatorInstance.settings.ignore='

来解决。我在MVC 5 Jquery 3.3.1的表单上遇到了复选框和隐藏输入的问题,没有任何效果,所以我必须禁用默认验证并进行一些自定义验证

<button type="submit" id="btnSubmit" formnovalidate="formnovalidate" class="btn">Submit</button>

validator.element的声明在哪里?@James:在标签代码下面。应该在上面吗?我不明白为什么它使用非复选框输入。添加到我的帖子中,对此表示抱歉。
Edit:

It's giving me an error in jquery-validate.js:787

    staticRules: function(element) {
        var rules = {};
        var validator = $.data(element.form, 'validator'); // <---- Error here
        if (validator.settings.rules) {
            rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};
        }
        return rules;
    },
var validator = $("#myForm").validate({

    ignore : ['#tabs .inactive input'], // tells the validator to only validate elements on your current tab

errorElement: "div",
wrapper: "div",  // a wrapper around the error message
errorPlacement: function(error, element) {

        if (element.parent().hasClass('group')){
            element = element.parent();
        }


    offset = element.position();
    error.insertBefore(element)
    error.addClass('message');  // add a class to the wrapper
    error.css('position', 'absolute');
    error.css('left', offset.left + element.outerWidth());
    error.css('top', offset.top);


    }
});
<button type="submit" id="btnSubmit" formnovalidate="formnovalidate" class="btn">Submit</button>
$.validator.methods.date = function (value, element) { .....