Partage
  • Partager sur Facebook
  • Partager sur Twitter

Interdire certains caractères dans prompt();

    14 juin 2010 à 22:49:50

    Bonjour comme le nom l'indique je voudrais pouvoir interdire certains caractères dans un champ prompt, en gros l'équivalent de ça :
    onKeypress="if(event.keyCode == 91 || event.keyCode == 93) event.returnValue = false;if(event.which == 91 || event.which == 93) return false;"
    

    Ceci se plaçant dans champ de type <textarea></textarea> ou <input type="text />; ici les caractères interdits sont [ et ] (91 et 93).
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 juin 2010 à 22:52:33

      pas possible. tu peux les filtrer à postériori mais tu ne peux pas contrôler lors de la saisie.
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2010 à 22:54:30

        D'accord, merci quand même.
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2010 à 0:05:49

          Euh... j'ai envie de dire "nod_ a tout faux".

          L'astuce consiste à utiliser le onkeyup. A chaque touche, tu appelles une fonction qui vérifie le dernier caractère de ton champ. Si c'est un caractère interdit, tu remplaces la valeur de ton champ par sa valeur d'avant (donc sans le caractère)

          Et à la validation (si dans un formulaire), tu regardes avec une regex si tes champs contiennent des caractères interdits. S'il y en a, tu refuses la validation du formulaire.

          Mais attention, penser à faire la même chose côté serveur, pour les petits malins qui désactivent le JS
          • Partager sur Facebook
          • Partager sur Twitter
          Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
          Anonyme
            15 juin 2010 à 1:19:56

            Dans un prompt() ?
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2010 à 1:36:52

              +1 avec nod_

              un prompt() = boite de dialogue de saisie de texte, c'est pas un textarea.
              • Partager sur Facebook
              • Partager sur Twitter
                15 juin 2010 à 2:21:20

                Mouais d'accord. En fait, comme il parle de champs, de textarea et d'input, j'avais pas compris ça comme ça. D'autant que le prompt, ça ne s'utilise plus depuis des années...

                Donc oui, en effet, il n'est pas possible d'intercepter la saisie d'un prompt.

                Mea Culpa, je l'avais vraiment compris de travers, celui-là :euh:
                • Partager sur Facebook
                • Partager sur Twitter
                Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
                Anonyme
                  15 juin 2010 à 7:32:13

                  C'est con, pour une fois qu'on avait un topic avec un titre explicite :D
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 juin 2010 à 11:45:21

                    Tant pis ce n'est pas grave, mais pour info SDZ utilise prompt(); pour poster lorsque l'on veux ajouter un lien par exemple.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 juin 2010 à 11:54:52

                      Même google l'utilise dans wave :p
                      Par contre si tu fais un pseudo-prompt HTML, là oui, tu pourrais ^^ mais par contre y a pas tous les "avantages" du prompt (à savoir, le fait qu'on soit obligé d'entrer quelque chose ou d'annuler pour voir la suite)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 juin 2010 à 19:45:24

                        Citation : birdy42

                        Même google l'utilise dans wave :p
                        Par contre si tu fais un pseudo-prompt HTML, là oui, tu pourrais ^^ mais par contre y a pas tous les "avantages" du prompt (à savoir, le fait qu'on soit obligé d'entrer quelque chose ou d'annuler pour voir la suite)



                        C'est un speudo-avantage selon moi....Il interdit de fermer le navigateur si tu tombe dans une boucle infini, c'est rare que ça arrive puisque les webmestre teste les pages avant, mais l'erreur est humaine et même certaines personnes font exprès de faire des page avec des boucle infini (Je vous parie que vous êtes pas capable de cliquez sur ce lien -> Piège, ce qui donne pour résultat CTRL+ALT+DEL (ou kill -9 "PID DU NAVIGATEUR"). Si au moins on pourrait fermer l'onglet, alors je serais totalement d'accord avec toi. (certains navigateurs ont corrigeé ce "BUG")
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Interdire certains caractères dans prompt();

                        × 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