首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery验证不起作用。jQuery.Deferred异常:$(.).validate不是函数

jQuery验证不起作用。jQuery.Deferred异常:$(.).validate不是函数
EN

Stack Overflow用户
提问于 2017-08-03 00:39:54
回答 2查看 858关注 0票数 3

是的,我试着阅读有关这方面的所有问题,并搜索有关这方面的信息。似乎一切都没问题。但是我在浏览器上有个错误,我花了很多时间来理解错误的地方,需要帮助。

我想做的是:

  1. 变更库
  2. 图书馆的变更顺序
  3. 将脚本生成到其他文件
  4. 更改文件中的脚本位置
  5. 更改名称和形式标识
  6. 检查语法,当然,检查语法

谢谢您抽时间见我。

带有浏览器错误的图片

代码语言:javascript
运行
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:set var="root" value="${pageContext.request.contextPath}"/>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Edit account</title>

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />
    <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>

    <script src="resources/jsScripts/addInput.js" language="Javascript" type="text/javascript"></script>
    <script src="resources/jsScripts/addInputWithValue.js" language="Javascript" type="text/javascript"></script>
</head>
<body>

<script type="text/javascript">

    $().ready(function () {
        $('#registration').validate({
            rules: {
                name: {
                    "required": true,
                    minlength: 2
                },
                surname: "required",
                password: {
                    required: true,
                    minlength: 3
                },
                email: {
                    required: true,
                    email: true
                }
            },
            messages: {
                name: "Please enter your firstname",
                surname: "Please enter your lastname",
                password: {
                    required: "Please provide a password",
                    minlength: "Your password must be at least 3 characters long"
                },
                email: "Please enter a valid email address"
            },
            submitHandler: function (form) { // for demo
                alert('valid form');
                return false;
            }
        });
    });
</script>

<%@ include file="search.jsp" %>
<div class="container-fluid jumbotron">

    <div class="form-group row-center">
        <form action="<c:url value="/account"/>" id="registration" name="registration" method="post"
        class="form-horizontal"
        enctype="multipart/form-data">

        <div class="form-group" align="right">
            <label for="name" class="col-sm-3 control-label">Имя</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" name="name" id="name"
                <c:if test="${not empty account.name}">
                    value=${account.name}
                </c:if>
                >
            </div>

        </div>

        <div class="form-group" align="right">
            <label for="surname" class="col-sm-3 control-label">Фамилия</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" name="surname" id="surname"
                <c:if test="${not empty account.surname}">
                    value=${account.surname}
                </c:if>
                >
            </div>
        </div>

        <div class="form-group" align="right">
            <label for="patronymic" class="col-sm-3 control-label">Отчество</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" name="patronymic" id="patronymic"
                <c:if test="${not empty account.patronymic}">
                    value=${account.patronymic}
                </c:if>
                >
            </div>
        </div>

        <div class="form-group" align="right">
            <label for="login" class="col-sm-3 control-label">Логин</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" name="login" id="login"
                <c:if test="${not empty account.login}">
                    value=${account.login}
                </c:if>>
            </div>
        </div>

        <div class="form-group">
            <label for="password" class="col-sm-3 control-label">Пароль</label>
            <div class="col-sm-4">
                <input type="password" class="form-control" name="password" id="password"
                       placeholder="Введите новый пароль">
            </div>
        </div>

        <div class="form-group" align="right">
            <label for="phone" class="col-sm-3 control-label">Телефонный номер</label>
            <div class="col-sm-4">
                <input type="tel" class="form-control" id="phone" name="phones"
                <%--onchange="return validate(phones.value())"--%>
                onkeyup="alert('text some ext')"
                <c:if test="${not empty account.contactInfo}">
                    <c:if test="${not empty account.contactInfo.phones}">
                        value=${account.contactInfo.phones.get(0).number}
                    </c:if>
                </c:if>
                >

            </div>
            <div class="col-sm-1">
                <input class="btn btn-success btn-add form-control" type="button"
                       value="+"
                       onClick="addInput('dynamicInput');"
                >
            </div>
        </div>

        <div id="dynamicInput">
        </div>

        <c:if test="${not empty account.contactInfo.phones}">
            <c:forEach var="phone" items="${account.contactInfo.phones}" varStatus="loopCount">
                <c:if test="${loopCount.count > 1}">
                    <script>
                        addInputWithValue('dynamicInput', '${phone.number}');
                    </script>
                </c:if>
            </c:forEach>
        </c:if>

        <div class="form-group" align="right">
            <label for="email" class="col-sm-3 control-label">email</label>
            <div class="col-sm-4">
                <input type="email" class="form-control" name="email" id="email"
                <c:if test="${not empty account.contactInfo}"> value=${account.contactInfo.email}</c:if>
                >
            </div>
        </div>

        </form>
    </div>
</div>
</body>
</html>    
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-03 15:14:27

原因在包含的文件中:

代码语言:javascript
运行
复制
<%@ include file="search.jsp" %>

因为在search.jsp中,我导入了同一个库:

代码语言:javascript
运行
复制
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>

当我从search.jsp中删除不必要的字符串时,就可以了)结论:小心导入。

票数 2
EN

Stack Overflow用户

发布于 2017-08-03 00:48:21

尝试将$().ready更改为$(document).ready。我认为它可能会在呈现文档之前执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45473036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档