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 :
$(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

  • Votes
  • Date
  • Date décroissante
  1. 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 ...
    1. Bonjour,
      Merci pour ta réponse. Je n'ai aucune erreur, j'ai vérifié mes identifiants il correspondent bien. Je ne sais pas si je l'ai mal placé car j'ai un code plus haut en javascript.
    2. @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 :(
  2. 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());
      }
     }); 
    });