IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

modification formulaire + validation date


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut modification formulaire + validation date
    bonjour, j'ai un script de validation de date qui marche très bien. Seulement, je n'arrive pas à faire la modifiacation (avec submit) lorsque la date est correcte. Comment faire ?

    voici l'appel dans le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="<?php echo $editFormAction; ?>" name="form1" method="POST" onSubmit="return CheckDate(this)">


    ma function:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    function CheckDate() {
    	// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
    	// Le séparateur est défini dans la variable separateur
     
    	var d=form.elements['jour'].value;
    	var amin=1980;  // année mini
    	var amax=2050;  // année maxi
    	var separateur="/"; // separateur entre jour/mois/annee
    	var j=(d.substring(0,2));
    	var m=(d.substring(3,5));
    	var a=(d.substring(6));
    	var ok=true;
    	//alert("reponse" + isNaN(j));
     
    	if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==true) ) {
    		//return false; 
                    alert("Le jour n'est pas correct."); ok=false;
    	}
    	if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==true) ) {
    		//return false;
    		 alert("Le mois n'est pas correct."); ok=false;
    	}
    	if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==true) ) {
    		//return false; 
     
    		alert("L'année n'est pas correcte."); ok=false;
    	}
    	if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==true))
             {
    		 //return false; 
    		alert("Les séparateurs doivent être des "+separateur);                 ok=false;
    	}
    	if (ok==true) {
    		var d2=new Date(a,m-1,j);
    		j2=d2.getDate();
    		m2=d2.getMonth()+1;
    		a2=d2.getFullYear(); 
    		if (a2<=100) {a2=1900+a2}
    		if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
    			 //return false;
    			alert("La date "+d+" n'existe pas !");
    			ok=false;
    		}
    	}
    	if (ok) 
    	{
    	//la date est coorecte et dois etre prise en compte ici	document.forms["form1"].submit();	
                   //alert("La date est correcte");
     
     
    	}
    	return ok;
     
    }
    [/code]

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    salut,
    il suffit de faire un return true pour que le formulaire parte
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    au niveau de l'avant dernier "ok", j'ai fait cela, mais toujours rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (ok) 
    	{
    	    madate=a+"-"+m+"-"+j; //annee-mois-jour
    	 d=madate;
        	document.forms["form1"].submit();
    	return true;	
           	}
    [/b]

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    t as pas desoin de faire le submit, il se fera tout seul si ta fonction retourne true et ne se fera pas si elle retourne false
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    merci, en fait il manquait un ok=false; quelque part.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Validation formulaire champ date
    Par titom59280 dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 26/02/2014, 18h18
  2. Réponses: 3
    Dernier message: 24/03/2012, 10h54
  3. Réponses: 3
    Dernier message: 21/03/2008, 16h29
  4. Réponses: 7
    Dernier message: 16/03/2005, 12h35
  5. Controle de formulaire valid XHTML 1.1
    Par StagiaireEnGalère dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/10/2004, 22h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo