Arrêtez le bouton de soumission en appuyant jusqu'à ce que suffisamment de mots soient écrits dans la zone de texte

Donc, fondamentalement, ce que je veux, c'est que le bouton de soumission soit désactivé jusqu'à ce qu'un certain nombre de mots ait été atteint dans la zone de texte.

J'ai jeté un coup d'œil et j'ai essayé de trouver des moyens de le faire, sans chance.

Des conseils ou des conseils?

<form method="post" id="writearticle" action="submitarticle.php"> <script> $('#writearticle').submit(function(event) { var text = $("#content").val(); text = text.split(" "); // check for at least 10 words if(text.length < 10){ console.log("prevented"); // prevent submit event.preventDefault(); return false; } console.log("submitted"); }); </script> <textarea rows="30" cols="85" id="content" name="content" placeholder="Write the article here. Try to abide by the instructions and keywords provided."></textarea> <br /> <input type="submit" name="submitarticle" value="Submit Article" class="submit" /> <br /><br /><br /><br /><br /> </form> 

Montrez-nous votre code.
1) Définir l'événement onclick pour le bouton de soumission
2) Vérifier la longueur dans la zone de texte
3) return false et preventDefault() s'il n'y a pas assez de mots.

Vous pouvez vérifier le nombre de mots / caractères dans l'événement de la keyup .

Voir cet exemple à http://elylucas.net/post/Enabling-a-submit-button-when-a-textbox-has-value-in-jQuery.aspx

Au lieu de vérifier une valeur, vous divisez la chaîne de saisie dans la zone de texte et voir la longueur du tableau est plus que votre nombre de mots souhaité

Utilisez l' textchange (non intégré) pour détecter avec précision les changements de texte via le clavier, coller, etc. – http://www.zurb.com/playground/jquery-text-change-custom-event

 $('textarea').bind('textchange', function () { // $(this).val() contains the new text }); 

Dans votre événement de changement de texte, vérifiez la durée / comptez les mots dans votre texte et activez désactiver le bouton de soumission au besoin (assurez-vous qu'il est initialement désactivé).

Vous prenez l'événement submit, vous comptez les mots dans la zone de texte et ne vous soumettez que s'il est assez élevé. Exemple:

 $('#targetForm').submit(function(event) { var text = $("#myTextarea").val(); text = text.split(" "); // check for at least 10 words if(text.length < 10){ // prevent submit event.preventDefault(); return false; } }); 

DEMO

Essayez ci-dessous des lignes de code,

 $(document).ready(function() { $(".submit-name").attr("disabled", "true"); var minLength = 100; $("#your-text-area").bind('keyup', function(event) { var String = $("#your-text-area").val() if (String.length >= minLength ) { $(".submit-name").removeAttr("disabled"); } else { $(".submit-name").attr("disabled", "true"); } }); });