Partage
  • Partager sur Facebook
  • Partager sur Twitter

Saisir uniquement des chiffres...

dans un input

    9 juin 2010 à 18:53:17

    Salut !

    Voilà j'ai un petit problème de Javascript, j'aimerais vérifier que certains champs ne comportent que des chiffres et que si autre chose est entré se soit signalé et l'envois du formulaire est annulé. Malheureusement j'ai beau entré du texte ou du vide, il me l'accepte quand même... :/
    Si vous pouviez m'aider ça m'arrangerais pas mal ^^

    Mon JS :
    function Attaque(){
    		var attaqueX = document.getElementById("attaqueX");
    		var attaqueY = document.getElementById("attaqueY");
    		var erreurs = 0;
    		
    		// Empêcher la saisie de texte dans les input, seul les nombres sont autorisés
    		var chiffres = new RegExp("[0-9]");
    		var verif;
    		var points = 0;
    		
    		// D'abord vérifier la position X
            for(x = 0; x < attaqueX.value.length; x++){
                verif = chiffres.test(champ.value.charAt(x));
    			if (attaqueX.value.charAt(x) == "."){
    				points++;
    			}
                if (points != 0){
    				verif = false; 
    				points = 1;
    			}
    		}
    		
    		// Vérification de la position Y
    		// D'abord vérifier la position X
            for(x = 0; x < attaqueY.value.length; x++){
                verif = chiffres.test(champ.value.charAt(x));
    			if (attaqueY.value.charAt(x) == "."){
    				points++;
    			}
                if (points != 0){
    				verif = false; 
    				points = 1;
    			}
    		}
    		
    		// Si une position est incorrecte on affiche le message d'erreur
    		if (verif == false){
    				alert("Coordonées incorrectes");
    				erreurs++;
    		}
    		
    		if (erreurs > 0){
    			return false;
    		}
    		else {
    			return true;
    		}
    	}
    


    HTML :
    <form action="" method="" onSubmit="return Attaque();">
    X : <input type="text" name="x" id="attaqueX" style="width : 20px;" />
    Y : <input type="text" name="y" id="attaqueY" style="width : 20px;" />
    


    Merci d'avance :D
    • Partager sur Facebook
    • Partager sur Twitter
      9 juin 2010 à 19:29:33

      Salut,
      Tu te compliques énormément la vie.
      Connais-tu les regex ?

      Ton script me fait penser que non. Ca me laisse aussi supposer que tu ne fait pas de vérification côté serveur. Et ça, c'est mal.
      • Partager sur Facebook
      • Partager sur Twitter
        9 juin 2010 à 19:39:18

        Salut !

        Euh non je connais pas les regex... On a pas fait beaucoup de Javascript en cours :( Et sur Google j'ai trouver que cette méthode là pour faire ce que je veux ^^

        Si si je vérifie bien côté serveur aussi :)
        • Partager sur Facebook
        • Partager sur Twitter
          9 juin 2010 à 19:45:15

          Tu vérifie côté serveur sans regex ? tu dois galérer !!

          Les regex en php

          Et puis en javascript

          Heureusement c'est presque pareil ;)

          Bonne lecture, tu verras, c'est coooool les regex !

          EDIT: le pire c'est que ton script utilise les regex mais abominablement. C'est du gachis :D
          • Partager sur Facebook
          • Partager sur Twitter
            9 juin 2010 à 19:48:45

            OK merci je vais regarder à ça :)
            • Partager sur Facebook
            • Partager sur Twitter

            Saisir uniquement des chiffres...

            × 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