Я не знаю, почему я получил эту ошибку, когда я изменил код на php (из html). когда расширение файла html, код работает нормально
<?php?> <html lang="en"> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <link rel="stylesheet" href="css/manual.css"> <!-- Optional theme --> <!-- Latest compiled and minified JavaScript --> <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.js"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"></script> <title>Register</title> </head> <body> <nav class="navbar navbar-default" id="navBar"> </nav> <div class="full"> <div class="col-xs-12"> <!--Side Bar--> <div class="col-xs-3" id="navSide"> </div> <div class="col-xs-6" id="signUpForm"> <h1>Register Page</h1> <form role="form" id="signUpForm"> <div class="form-group"> <div class="form-inline spacer-12"> <input type="text" class="form-control" name="userFirstname" placeholder="First Name"> <input type="text" class="form-control" name="userLastName" placeholder="Last Name"> </div> </div> <div class="form-group "> <input type="text" class="form-control" name="userEmail" placeholder="Email"> </div> <div class="form-group "> <input type="password" class="form-control" name="userPassword" placeholder="Password"> </div> <div class="form-group "> <input type="password" class="form-control" name="confirmPassword" placeholder="Password"> </div> <div class="form-group "> <label> Birthday* </label> <input type="date" class="form-control" name="userBirthday" placeholder="Birthday"> </div> <input type="submit" class="btn btn-info spacer-12" style="clear:both" > </form> </div> </div> </div> <script src="js/startup.js"></script> <script src="js/signup.js"></script> </body> </html> <?php?>
то это мой код проверки jquery
$(document).ready(function(){ $('#signUpForm').validate({ errorElement: "span", errorClass: "help-block", rules:{ userFirstName:{ required: true }, userLastName:{ required: true }, userEmail:{ required: true }, userPassword:{ required: true }, confirmPassword:{ required: true }, userBirthday:{ required: true } }, submitHandler: function (form) { // for demo alert('valid form submitted'); // for demo return false; // for demo }, highlight: function(element) { $(element).closest('.form-group').addClass('has-error').addClass('red-border'); }, unhighlight: function(element) { $(element).closest('.form-group').removeClass('has-error').addClass('has-success').removeClass('red-border'); } }); });
Этот код вызывает ошибку, когда я нажимаю кнопку отправки (JQuery Validate Uncaught TypeError: не удается прочитать свойства «настройки» неопределенного значения). Но ошибка является временной и исчезнет через некоторое время.
Вы определили два идентификатора с одинаковым именем, тогда как идентификатор должен быть уникальным.
<div class="col-xs-6" id="signUpForm"> <form role="form" id="signUpForm">
Попробуйте удалить id из <div class="col-xs-6" id="signUpForm">
ЗАМЕЧАНИЕ: две вещи
1. Определите функцию JQuery
включить функцию jQuery!
(function( $ ) {
// Запуск скрипта
// endscript /
})( jQuery );
<form role="form" id="signUpForm1"> // include 1 in previous form id
И поместите этот id в скрипт
$('#signUpForm1').validate({ // put the Id in the script
Надеемся, что ваша задача будет успешной.
Чтобы добавить небольшую деталь здесь, я столкнулся с той же проблемой с jQuery UI time picker, и это также было связано с тем, что идентификатор не уникален.
В моем случае это связано с тем, что я захватывал родительский элемент из шаблона – дублируя его для всплывающего окна. В результате содержимое окна имело дубликаты идентификаторов.
Моим обычным обходным решением для этого было заменить это:
$('#foo').bar();
с этим:
myPopupWindow.find('#foo').bar();
Это работает очень хорошо для большинства вещей, но не для выбора времени. Для этого я сделал это:
myPopupWindow.find('#foo').attr('id', 'foo_' + someUniqueTag); myPopupWindow.find('#foo_' + someUniqueTag).timepicker();
где someUniqueTag является идентификатором записи, случайным числом или некоторой другой отдельной строкой. Это решило для меня это довольно хорошо.