Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de test booléen

Sujet résolu
    14 mai 2010 à 10:54:16

    Bonjour,

    Je m'arrache les cheveux sur ce bout de code :

    var reg_date=new RegExp("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$","g");
    for (var i=0;i<tablo.length;i++){
    
    	//Test de la bonne saisie des champs date
    	if((champs_date.indexOf(''+tablo[i].name+'')!=-1)&&(tablo[i].value!=''))
    	{	alert(i);
    		alert(reg_date.test(tablo[i].value));
    		if(!reg_date.test(tablo[i].value))
    		{
    			alert(tablo[i].name+' doit être saisie au format jj/mm/aaaa');
    			ajax_pb++;
    		}
    		
    	}
    	
    }
    


    Mon alert sur la valeur de reg_date.test(tablo[i].value) m'affiche true mais le script entre quand même dans la condition du dessous.

    Je comprends vraiment pas d'où le soucis peut venir ...

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2010 à 12:35:28

      On peut voir le contenu de tablo s'il te plait?
      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2010 à 12:52:24

        J'ai finalement résolu le problème en recréant l'objet regExp à chaque passage dans la boucle. (C'est magique le javascript on déplace des lignes et hop ca marche :-° )

        for (var i=0;i<tablo.length;i++){
        		
        		var reg_date=new RegExp("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$","g");
        		var reg_number=new RegExp("^[0-9]$","g");
        		var reg_pourcent=new RegExp("^[0-9]{2,3}[%]{1}$","g");
        	
        		//Test de la bonne saisie des champs date
        		if((champs_date.indexOf(''+tablo[i].name+'')!=-1)&&(tablo[i].value!=''))
        		{				
        		
        			if(!reg_date.test(tablo[i].value))
        			{
        				alert(tablo[i].name+' doit être saisie au format jj/mm/aaaa');
        				ajax_pb++;
        				break;
        			}
        			
        		}
        


        Pourtant, dans aucunes des références que j'ai trouvé sur le net il est dit qu'il faut redéfinir cet objet à chaque passage dans une boucle !
        • Partager sur Facebook
        • Partager sur Twitter

        Problème de test booléen

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown