jQuery 验证给出错误(.validate 不是一个函数)

jQuery validate giving error (.validate is not a function)

为什么我正在使用 jQuery 验证插件它工作正常突然停止工作当我检查控制台是否有任何错误它给我这个错误

Uncaught TypeError: $(...).validate is not a function

我已经阅读了很多论坛,但所有的解决方案都不适合我,请有人帮助我,这是我的代码。

这是头部

<head>
    <meta charset="<?php bloginfo('charset'); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/assets/css/bootstrap.min.css" media="all" />
    <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/assets/css/style.css" media="all" />
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <link href="https://fonts.googleapis.com/css?family=Raleway:400,700" rel="stylesheet">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.1/css/bootstrap-select.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.1/js/bootstrap-select.js"></script>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script>



    <?php wp_head(); ?>
</head>

主体部分

<script type="text/javascript">
$(document).ready(function () {
    $("#submit").click(function (e) {
        e.preventDefault();

        $('#addpro').validate();

        var form = $("#addpro");
        var itemm = $("#id_itemchoice").val();
        var itemmsize = $("#id_size").val();
        var itemmprice = $("#id_price").val();
        var wholesaleprice = $("#id_wholesale_price").val();
        var itemmdes = $("#id_description").val();
        var quantity = $("#id_quantity_received").val();

        if (itemm === "" || itemmsize === "" || itemmprice === "" || wholesaleprice === "") {
            $(".val-error, .error-message").show();
        } else {
            jQuery.ajax({
                type: 'POST',
                data: {action: 'insert_consultant_post', itemchoice: itemm, size: itemmsize, price: itemmprice, description: itemmdes, quantity: quantity},
                url: "<?php bloginfo('url'); ?>/wp-admin/admin-ajax.php",
                success: function (data) {
                    console.log(data);

                }
            });
        }
    });
});

请看看它并告诉我我做错了什么。提前致谢

您确定您使用的是来自 WordPress 的 wp_enqueue_script() 吗? 检查文档 - https://developer.wordpress.org/reference/functions/wp_enqueue_script/

wp_enqueue_script()

我认为您可以进一步简化 ajax post 的方式。 检查此 fiddle - https://jsfiddle.net/ftr08w9L/

$.post()

当然,您需要为您的代码调整 fiddle。我还添加了一些评论来帮助您。