Mon code jquery ne fonctionne pas
Bonjour,
J'ai un champ téléphone et je souhaite lui appliquer un seul contrôle, que les valeurs entrées soient des chiffres (digits), si ce n'est pas le cas j'affiche une erreur. Mais voilà ça marche sur une page et pas sur une autre, je ne vois pas pourquoi, je ne vois pas où peut être l'erreur.
Voici la partie qui ne marche pas :
J'ai un champ téléphone et je souhaite lui appliquer un seul contrôle, que les valeurs entrées soient des chiffres (digits), si ce n'est pas le cas j'affiche une erreur. Mais voilà ça marche sur une page et pas sur une autre, je ne vois pas pourquoi, je ne vois pas où peut être l'erreur.
Voici la partie qui ne marche pas :
$(function()
{
// Validation
$("#sky-form").validate(
{
// Règles de validation
rules:
{
tel_m:
{
required: false,
digits: true
},
},
// Messages pour validation
messages:
{
tel_m:
{ required: 'Saisissez un numéro de téléphone',
digits: 'Entrez seulement des chiffres'
},
},
// Ajax form submition
submitHandler: function(form)
{
$(form).ajaxSubmit(
{
beforeSend: function()
{
$('#sky-form button[type="submit"]').attr('disabled', true);
},
success: function()
{
$("#sky-form").addClass('submited');
}
});
},
// Do not change code below
errorPlacement: function(error, element)
{
error.insertAfter(element.parent());
}
});
});
2 réponses
-
Salut,
Tu as une erreur ou rien dutout ? Si c'est rien dutout ya des chances que ton formulaire ne porte pas le bon identifiant ...-
-
@geekatJe vois ce qui pose problème, c'est une <div>, mais j'ai besoin de cette <div>. Je ne sais pas comment régler le problème :(
-
-
Code JS complet :
countForms = 0; createForms = function(){ countForms++; newForm = $( "#templateForms" ).clone().appendTo( "#content" ); newForm.show(); newForm.attr('id', 'form' + '_' + countForms); nom = newForm.find("[name=nom]"); prenom = newForm.find("[name=prenom]"); fonction = newForm.find("[name=fonction]"); tel_m = newForm.find("[name=tel_m]"); tel_d = newForm.find("[name=tel_d]"); tel_p = newForm.find("[name=tel_p]"); mail = newForm.find("[name=mail]"); fax = newForm.find("[name=fax]"); desc = newForm.find("[name=desc]"); nom.attr('name', nom.attr('name') + '_' + countForms); prenom.attr('name', prenom.attr('name') + '_' + countForms); fonction.attr('name', fonction.attr('name') + '_' + countForms); tel_m.attr('name', tel_m.attr('name') + '_' + countForms); tel_d.attr('name', tel_d.attr('name') + '_' + countForms); tel_p.attr('name', tel_p.attr('name') + '_' + countForms); mail.attr('name', mail.attr('name') + '_' + countForms); fax.attr('name', fax.attr('name') + '_' + countForms); desc.attr('name', desc.attr('name') + '_' + countForms); $('#countForms').val(countForms); /***Le mask**/ //tel_m.mask('(33) 9-99-99-99-99', {placeholder:'X'}); //tel_d.mask('(33) 9-99-99-99-99', {placeholder:'X'}); //tel_p.mask('(33) 9-99-99-99-99', {placeholder:'X'}); //fax.mask('(33) 9-99-99-99-99', {placeholder:'X'}); } $("#createForms").on("click", function(){ createForms(); }); // décomentez ces lignes pour créer automatiquement un(des) formulaire(s) au début createForms(); //createForms(); //createForms(); //createForms(); tel_d.mask('(33) 9-99-99-99-99', {placeholder:'X'}); // Message Mail en français !!!!!!!!!! jQuery.extend(jQuery.validator.messages, { email: "Veuillez entrer une adresse mail valide!", }); $(function() { // Validation $("#sky-form").validate( { // Règles de validation rules: { tel_m: { required: false, digits: true }, }, // Messages pour validation messages: { tel_m: { required: 'Saisissez un numéro de téléphone', digits: 'Entrez seulement des chiffres' }, }, // Ajax form submition submitHandler: function(form) { $(form).ajaxSubmit( { beforeSend: function() { $('#sky-form button[type="submit"]').attr('disabled', true); }, success: function() { $("#sky-form").addClass('submited'); } }); }, // Do not change code below errorPlacement: function(error, element) { error.insertAfter(element.parent()); } }); });