Quantité de caractères dans un INPUT

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Quantité de caractères dans un INPUT

    Bonjour,
    Je n'arrive pas à délimiter la quantité de caractères dans un INPUT.

    J'ai utilisé maxlength mais cela ne fonctionne pas.

    Code:
           <field name="siret" type="number"
                    
                label="COM_CRMFORM_FORM_LBL_CLIENT_SIRET"
                description="COM_CRMFORM_FORM_DESC_CLIENT_SIRET" 
                    
                maxlength="14"
    	    required="true" 
                menu_published="0"
                filter="int"
                directory_stripext="true"
                directory_hidenode="true"
                directory_hidedefault="true"
                alias_generator="2207781"
                heading="h1"
                close="true"
                option_on="Yes"
                option_off="Yes">
    			
         <group label="">
                    <option value=""></option>
         </group>
            </field>
    J'ai regardé du côte de : https://docs.joomla.org/Standard_form_field_types/fr

    Mais je ne trouve pas d'info à ce sujet, je dois rater quelque chose.

    Quelqu'un sait-il?

    Cordialement.

    Eric

  • #2
    Re : Quantité de caractères dans un INPUT

    Essayer
    Code:
    min="0" max="99999999999999"
    à la place de maxlength
    ?
    Solidaire avec les dinosaures

    Commentaire


    • #3
      Re : Quantité de caractères dans un INPUT

      Bonjour,
      Merci beaucoup pour ton aide.

      J'avais essayé (il y a 10mn) pour vérifier si les limites fonctionnaient.

      Mais cela ne fonctionne pas non plus.
      En fait cela fonctionne si on utilise les boutons toupies ^ et v mais pas quand je saisie la valeur dans le champ.

      Et j'ai besoin de laisser la saisie manuelle et la quantité de caractère sera toujours de 14 (Il s'agit du numéro de Siret)
      Il faudrait ne pas avoir la choix, que si la quantité n'est pas de 14 caractère numeriques, le champ ne pourra pas être validé.

      Cordialement.

      Commentaire


      • #4
        Re : Quantité de caractères dans un INPUT

        Bon ... dans ce cas il n'y a plus qu'à attendre l'avis de spécialistes

        on peut aussi employer javascript ?
        ex
        Code:
        <input name="somename"
            oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
            type = "number"
            maxlength = "6"
         />
        A titre personnel, dans un formulaire de commande, j'utilise des contrôles en Javascript + php car le javascript
        peut-être "bypassé" ...
        Solidaire avec les dinosaures

        Commentaire


        • #5
          Re : Quantité de caractères dans un INPUT

          Salut,
          re : javascript
          Pour moi, et comme on dispose de jQuery, il est préférable d'éviter les onclick, oninput, etc.., qui sont effectivement faciles à hacker.
          Juste un exemple avec un script :

          La fonction d'usage est tout en bas du script JS :
          $(function() {
          $('#maxLength').maxlength({max: 30});
          $('#premiertest').maxlength({max: 10});
          });
          PS : j'ai traduit les commentaires en français. Ils sont dans le corps du script.
          Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Re : Quantité de caractères dans un INPUT

            Bonjour gazhal,

            Merci pour ton aide.

            J'ai déposé un ID à mon INPUT

            J'ai aussi placé le script dans le PHP (Avec une limite à 14 caractères et avec bien entendu le même ID)

            Mais cela n'a pas limité la quantité de caractère à 14 dans mon INPUT.

            Je ne peux pas mettre de code ici, car cela ma demande le captcha et il ne fonctionne pas (il me renvoie une page blanche)
            Dernière édition par Agrepe à 01/10/2016, 16h24

            Commentaire


            • #7
              Re : Quantité de caractères dans un INPUT

              Je ne peux pas mettre de code ici, car cela ma demande le captcha et il ne fonctionne pas (il me renvoie une page blanche)
              Effectivement c'est un problème qui apparait de façon aléatoire. Il suffit de réessayer un moment après et ça fonctionne (en général).
              Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
              Confucius

              Commentaire


              • #8
                Re : Quantité de caractères dans un INPUT

                * le souci du code sur le forum est connu. Et comme le dit lesoutier, il suffit d'attendre un peu. C'est qd même ... hmm, casse-**.

                *Comment as-tu inséré mon script ?
                Que dit Firebug ?
                Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                Commentaire


                • #9
                  Re : Quantité de caractères dans un INPUT

                  Il faut faire une correction sur le script JS d'usage (tout en bas ) :

                  jQuery(document).ready(function($){

                  $('.laforme').maxlength({max: 30});
                  $('#premiertest').maxlength({max: 10});

                  });
                  NB : nouvel exemple avec une class et une ID.

                  Tu ne m'as pas répondu sur ta méthode d'insertion du JS, mais il faut absolument que le script arrive après le chargement de jQuery, évidemment.
                  Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                  Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                  Commentaire


                  • #10
                    Re : Quantité de caractères dans un INPUT

                    Bonjour,

                    Je me suis connecté en coup de vent ce week-end, je n'ai pas travaillé.

                    J'ai regardé le code JS de ce que tu m'as founi.
                    J'avais bien pose le ready, mais cela n'a aucune influence.

                    Commentaire


                    • #11
                      Re : Quantité de caractères dans un INPUT

                      le code
                      (Entre des balises bien entendu, mais dès que je les mets ici le captcha empêche la publication)

                      jQuery(document).ready(function($){
                      $('#jform_siret').maxlength({max: 14});
                      });

                      J'ai aussi essayé cela:

                      function SetMaxLength () {
                      var input = document.getElementById ("jform_siret");
                      input.maxLength = 14;
                      }

                      (Entre les balise bien entendu)

                      Et cela ne fonctionne pas non plus

                      En fouillant sur le net, j'ai vu cela: (tours entre balises bien entendu)
                      type="text/javascript" src="js/jquery.maxlength.js">
                      Il y a un js spécifique à charger ?
                      Dernière édition par Agrepe à 03/10/2016, 08h42

                      Commentaire


                      • #12
                        Re : Quantité de caractères dans un INPUT

                        Ce script fonctionne dans joomla sur un input ou un textarea, je l'ai bien sûr testé.

                        Maintenant cela dépend de la manière dont tu l'implémentes.
                        La technique que j'utilise :
                        par exemple, dans une view du composant (ou de l'extension), tu insères l'appel au script :

                        JHtml::_('stylesheet', 'monjavascript/maxlength.css', false, true);

                        JHtml::_('script', 'monjavascript/maxlength.js', false, true);
                        Tu auras créé un dossier /monjavascript/ dans /media/
                        puis 3 dossiers dans /media/monjavascript/, nommés /css/, /images/ (s'il y a des images), et /js/
                        placé les fichiers dans les dossiers correspondants

                        Si #jform_siret est bien l'id d'un input (ou d'un textarea), cela devrait fonctionner.

                        NB : si tu veux faire une archive de ton extension (un package installable), tu rajoutes ceci dans le fichier xml d'install :
                        <media folder="media" destination="monjavascript">
                        <folder>css</folder>
                        <folder>images</folder>
                        <folder>js</folder>
                        </media>
                        PS : il faut qu'il y ait au moins un fichier dans chacun des dossiers /css/, /images/ , /js/

                        Dans une implémentation du JS dans Joomla, Firebug indispensable et check de la page source pour vérifier si les fichiers JS sont bien placés dans le bon ordre, en dessous de l'appel à jquery, dans ce cas.
                        Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                        Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                        Commentaire


                        • #13
                          Re : Quantité de caractères dans un INPUT

                          Bonjour ghazal.
                          Merci beaucoup pour ton aide.
                          J'essaie de répondre avec mon code, mais dès que je mets du code, le captcha me renvoie une page blanche, je ne peux pas répondre.

                          J'avais effectivement fait comme tu me préconise, mais cela ne fonctionne pas.
                          A la différence près que je ne dois pas utilisée la méthode appropriée pour joomla puisque je dépose mon fichier maxlength.js dans un dossier js que j'ai placé dans le dossier TMPL de la view.

                          Puis ensuite, directement une ligne qui appelle ce js dans le PHP. (Je vais modifié pour mettre cela dans "media" puis insérer correctement la ligne d'appel du js. (Entre balises bien entendu)

                          src="components/com_crmform/views/clientform/tmpl/js/jquery.maxlength.js"

                          (Toutefois, j'avais utilisé "ma" méthode pour un DateTimePicker et cela fonctionne.

                          Je vais refaire correctement et voir si cette fois cela fonctionne.

                          Merci beaucoup en tout cas.

                          Commentaire


                          • #14
                            Re : Quantité de caractères dans un INPUT

                            Ghazal,

                            L'input est de type "number", cela change-t-il quelque chose ?

                            En faisant cela:

                            JHtml::_('script', 'monjavascript/maxlength.js', false, true);

                            Cela le charge depuis le dossier que l'on a place dans media ?

                            Car j'ai essayé avec mon script DateTimePicker et il n'est plus chargé.
                            J'ai créé un dossier "mesjavascript" dans media (je ne me suis pas trop creusé la tête)
                            Bien entendu j'ai mis :

                            defined('_JEXEC') or die;

                            JHtml::_('behavior.keepalive');
                            JHtml::_('behavior.tooltip');
                            JHtml::_('behavior.formvalidation');
                            JHtml::_('formbehavior.chosen', 'select');
                            JHtml::_('script', 'mesjavascript/datetimepicker.full.min.js', false, true);
                            JHtml::_('script', 'mesjavascript/maxlength.js', false, true);

                            // Load admin language file
                            $lang = JFactory::getLanguage();
                            $lang->load('com_crmform', JPATH_SITE);
                            $doc = JFactory::getDocument();
                            $doc->addScript(JUri::base() . '/media/com_crmform/js/form.js');

                            Encapsulé dans des balises PHP.

                            Cordialement.

                            Eric
                            Dernière édition par Agrepe à 03/10/2016, 10h11

                            Commentaire


                            • #15
                              Re : Quantité de caractères dans un INPUT

                              JHtml::_('script', 'monjavascript/maxlength.js', false, true);

                              Cela le charge depuis le dossier que l'on a place dans media ?
                              Oui, c'est ça.
                              ... depuis le fichier ...
                              le chemin/path :
                              /xxx/xxx/xxx/etc.../media/monjavascript/js/maxlength.js
                              le code
                              JHtml::_('script', 'monjavascript/maxlength.js', false, true);
                              Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                              Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X