Mon code jquery ne fonctionne pas

Fermé
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017 - 5 août 2015 à 15:04
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017 - 10 août 2015 à 10:00
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

nichola Messages postés 111 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 24 avril 2016 11
5 août 2015 à 18:14
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 ...
0
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017
6 août 2015 à 12:08
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.
0
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017 > geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017
10 août 2015 à 10:00
Je 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 :(
0
geekat Messages postés 228 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 24 février 2017
Modifié par geekat le 6/08/2015 à 12:11
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());
  }
 }); 
});    
0