Je ne sais pas pourquoi j'ai reçu cette erreur quand j'ai changé le code en php (de html). lorsque l'extension du fichier est html, le code fonctionne correctement
<?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?>
alors c'est mon code de validation 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');
}
});
});
Ce code provoque une erreur lorsque je clique sur le bouton d'envoi (JQuery Valide Uncaught TypeError: Impossible de lire la propriété 'paramètres' de non définie).
Vous avez défini deux identifiants avec le même nom, alors que identifiant doit être unique.
<div class="col-xs-6" id="signUpForm">
<form role="form" id="signUpForm">
Essayez de supprimer id de <div class="col-xs-6" id="signUpForm">
Bien que ce ne soit pas le cas dans la question de OP, cette erreur peut également être provoquée en essayant de valider un élément qui n'est pas une forme.
Pour ajouter un petit détail ici, j'ai rencontré le même problème avec le sélecteur de temps de jQuery UI, et c'était également dû au fait que l'ID était non unique.
Dans mon cas, c'est parce que je récupérais l'élément parent d'un modèle, en le dupliquant pour une fenêtre contextuelle. En conséquence, le contenu de la fenêtre avait tous des identifiants en double.
Ma solution de contournement normale pour cela était de remplacer ceci:
$('#foo').bar();
avec ça:
myPopupWindow.find('#foo').bar();
Cela fonctionne assez bien pour la plupart des choses, mais pas pour le sélecteur de temps. Pour celui-là, j'ai fini par faire ceci:
myPopupWindow.find('#foo').attr('id', 'foo_' + someUniqueTag);
myPopupWindow.find('#foo_' + someUniqueTag).timepicker();
oùUniqueTag est un identifiant d'enregistrement, un nombre aléatoire ou une autre chaîne distincte. Cela l'a résolu assez bien pour moi.
NOTE deux choses
1. Définir la fonction Jquery
inclure la fonction de jQuery!
(function( $ ) {
// Démarrer le script
// endcript/
})( jQuery );
<form role="form" id="signUpForm1"> // include 1 in previous form id
Et met cet identifiant dans le script
$('#signUpForm1').validate({ // put the Id in the script
J'espère que votre tâche sera couronnée de succès.