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 :

probl�me sur substring (fonction inconnue)


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Par d�faut probl�me sur substring (fonction inconnue)
    bonjour,

    je voudrais savoir quel probl�me il peut y avoir dans la fonction suivante. La console javascript de Firefox me donne une erreur en pr�cisant que la fonction substring n'est pas une fonction. A chaque ligne ou je la demande il y a donc erreur. Pourquoi ?
    De plus, pourquoi lorsque je r�cup�re la valeur du champ texte, je ne peux pas travailler sur la variable contenant ce r�sultat ?

    Merci

    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
    55
     
    <html>
    <head>
    <script>
    function test(){
    	document.getElementById('test').value="test";
    }
    function verifdate()
    {	
    	datesysteme=new Date(); //récupère la date complète du système ex: "Fri Dec 17 09:23:30 1998"
    	joursysteme=datesysteme.getDate();
    	moissysteme=datesysteme.getMonth(); //entre 0 et 11
    	moissysteme=moissysteme+1;
    	ansysteme=datesysteme.substring(11,4);
    	document.write(datesysteme+" "+ansysteme);
     
    	cdate=document.getElementById('txtdaller').value; //Récupère le contenu du champ texte.
    	lgdate=cdate.length;
    	if (lgdate!=10) //Cas ou le jour ou mois ne sont pas donnés sous 2 chiffres
    	{ alert ("la date donnée ne corrrespond pas au format souhaité : 05/02/2005 par exemple."); }
    	else 
    	{
    		jour=cdate.substring(0,2); //Récupère le jour du match
    		mois=cdate.substr(4,2); //Récupère le mois du match 
    		annee=cdate.substr(7,10); //Récupere l'année du match 
    		sep1=cdate.substr(3,1); //récupère le type de séparateur qui doit être un /
    		sep2=cdate.substr(6,1); //récupère le type de séparateur qui doit être un /
    		document.write(jour+" "+mois+" "+annee+" "+sep1+" "+sep2); //Vérification des variables de sorties
     
    		if (((sep1!="/") || (sep2!="/")) && (sep1!=sep2))
    		{ alert("La date ne correspond pas au format demandé ! (ex: 01/01/2006)"); }
    		if ((jour<0) || (jour>31))
    		{ alert("Le jour doit être un nombre ENTIER compris entre 0 et 31, excepté pour le mlois de FEVRIER (28 ou 29 jours)."); }
    		if ((mois<0) || (mois>12))
    		{ alert("Le mois est un nombre ENTIER compris entre 1 et 12."); }
    		if ((annee<ansysteme) || (annee>(ansysteme+1)))
    		{ alert=("L'année du match est celle de l'année en cours OU de l'année suivante uniquement (saison 2005/2006)."); }
    		if (mois<moissysteme)
    		{ alert("Le mois du match doit être supérieur à la date d'aujourd'hui"); }
    		if ((jour<jousysteme) && (mois>=moissysteme))
    		{ alert("Ce jour de match n'est pas valide car déjà passé !"); }
    	}
    }
     
    </script>
    </head>
    <body>
     
    <input name="txtdaller" type="text" id="txtdaller" value="xx/xx/20xx" maxlength="10" onBlur="verifdate();" ><br>
    <input type='text' id='test' name='test' value="" disabled='true'><br>
    <input type='button' id='bouton' name='bouton' value="test" onClick="test();">
     
     
    </body>
    </html>
    je ne trouve pas les erreurs.

    Merci pour le coup de main

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    93
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 93
    Par d�faut
    La m�thode substring ne s'applique qu'� des objets String. Mais l� o� tu as une erreur, c'est quand tu tentes d'utiliser cette m�thode sur un objet Date ("substring n'est pas une fonction" pour l'objet Date).

    Il faudrait que, lorsque tu veux faire un substring de ta variable datesysteme, tu convertisses d'abord cette variable en String :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ansysteme=String(datesysteme).substring(11,4) ;
    Autre chose : les deux param�tres de substring doivent �tre des positions dans la cha�ne de caract�re, et non une position, puis un nombre de caract�res. Il faudra que tu corriges cela aussi :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    // on omet le 2e param. qui correspond par défaut à la position du dernier caractère de la chaîne
    ansysteme=String(datesysteme).substring(11) ;

  3. #3
    Membre �m�rite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par d�faut
    substring c'est pour un objet string et non pour une date

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    90
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 90
    Par d�faut
    ok les modifs ont �t� faites. Merc pour l'info.

    Cependant, j'ai toujours une erreur lorsque je veux r�cup�rer le contenu de mon champ texte :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    var cdate=document.getElementById('txtdaller').value;
    il m'est pr�cis� que cet �l�ment n'a pas de propri�t� je ne peux odnc pas r�cup�rer le contenu de mon champ texte.

    Une id�e ?

  5. #5
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    93
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 93
    Par d�faut
    Est-ce que tu as essay� de r�cup�rer cette valeur en ins�rant d'abord tes INPUTS dans un FORM comme il se doit ?

  6. #6
    Membre �m�rite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par d�faut
    Est-ce qu'il peut �tre possible que vue que le name et le id de ton objet sont les meme, ca porte a confusion?
    Si tu change le id est ce que ca passe?

    Je me demandais aussi, pourquoi est-ce que tu utilise des simple guillemets ' ' et parfois des doubles " " pour les popri�t�s de tes objets input...?

  7. #7
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    93
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 93
    Par d�faut
    Citation Envoy� par ozzmax
    Est-ce qu'il peut �tre possible que vue que le name et le id de ton objet sont les meme, ca porte a confusion?
    Si tu change le id est ce que ca passe?

    Je me demandais aussi, pourquoi est-ce que tu utilise des simple guillemets ' ' et parfois des doubles " " pour les popri�t�s de tes objets input...?
    D'exp�rience, je sais que �a ne changera rien.

    Par contre, des INPUT qui sont pas balis�s par un FORM, c'est du HTML mal form�. Le risque est grand que l'acc�s � ces objets soit rendu difficile ou impossible puisque le DOM n'est pas respect�.

Discussions similaires

  1. [PostgreSQL] [PostGreSQL] probl�me sur une fonction avec connexion
    Par roblescriso dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 04/06/2008, 18h03
  2. probl�me sur la fonction CreateProcess(..)
    Par mog83 dans le forum Visual C++
    R�ponses: 5
    Dernier message: 20/05/2008, 13h46
  3. [RegEx] probl�me sur la fonction preg_replace pour formatage
    Par medkyl dans le forum Langage
    R�ponses: 4
    Dernier message: 06/02/2008, 17h37
  4. R�ponses: 3
    Dernier message: 23/08/2007, 00h39
  5. [MySQL] ex�cuter un script php en commande linux : probl�me sur les fonctions mysql
    Par dr_octopus74 dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 16/03/2007, 16h34

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