Comment définir le formulaire à envoyer lors de la textarea ont minlength 20 caractères?

0

La question

J'ai un problème, je veux de l'envoi du formulaire lors de la textarea ont minlength 20 char, mais mon code ne fonctionne pas. Tout le temps quand appuyer sur le bouton retourne false Je veux que le code ne pas envoyer lorsque la fenêtre de chargement et textarea longueur est égale à 0

const message = document.querySelector('#message');
         const btn = document.querySelector('.btn');

         f = false;
         t = true;




         const blockBtn = (b) => {
             btn.addEventListener('click', e => {
                 console.log(b);
                 e.returnValue = b;
                 //  console.log(e.returnValue);

             });
         }

         const textArea = function (event) {
             const length = this.value.length;
             console.log(length);
             if (length < 20 || length == null) {
                 blockBtn(f);
             } else {
                 console.log('dziala')
                 blockBtn(t);
             };
         }

         const textAreaWindow = () => {
             const messageValueLength = message.value.length;
             if (messageValueLength == 0) {
                 blockBtn(f);
             }
         }

         message.addEventListener('input', textArea);
         window.addEventListener('load', textAreaWindow);
forms html javascript
2021-11-23 11:25:16
1

La meilleure réponse

0

Tout d'abord, ceci:

 f = false;
 t = true;

Est redondant (et les mauvaises), il suffit de passer au vrai/faux.

Deuxièmement, vous ne retirez jamais le vieux auditeurs, de sorte que par le temps que vous avez tapé 20 caractères de votre bouton de tir de 20 événements. C'est également mauvais.

Plutôt que de mettre à jour l'auditeur à chaque fois il y a un changement, il suffit d'entrer la longueur de la zone de texte lorsque vous cliquez sur le bouton.

2021-11-23 11:37:31

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................