Pour le téléchargement de fichier, j'ai utilisé un plugin WordPress.
Ici, je veux contrôler le nombre maximum de téléchargement de fichier. Je suis capable de désactiver le plugin de téléchargement lorsque l'utilisateur téléchargea le fichier number max.
Mais après avoir désactivé le bouton de téléchargement, lorsque l'utilisateur supprime un fichier et souhaitez télécharger un nouveau fichier qu'il ne peut pas. Comment réenverrair le bouton de téléchargement de décédération? J'ai désactivé le bouton de téléchargement, comptez avec le nombre total de classes d'entrée.
jQuery(document).ready(function() { var limit = 3; jQuery('.qbutton').on('click', function() { if (jQuery(".mfcf7-zl-multifile-name").length == limit) { jQuery(this).attr("disabled", "disabled"); } }); jQuery('.mfcf7_zl_delete_file').on('click', function() { if (jQuery(".mfcf7-zl-multifile-name").length < limit) { jQuery('.qbutton').removeAttr("disabled"); } }); });
4 Réponses :
Je pense que vous avez juste besoin de mettre à jour votre condition:
Ne fonctionnera pas. La classe cible n'existait pas lorsque le document a été chargé
Oui .. mais l'événement de clic ne sera appelé que lorsque la classe existe sur la page ...
L'auditeur d'événements ne sera pas attaché aux éléments créés de manière dynamique
@ Fr0zenfyr, sur code> attachera définitivement l'auditeur d'événement sur des éléments créés de manière dynamique.
@RashDulalamam, essayez ma solution.
Non ce ne sera pas. Essaie
Le problème WordPress @Muhammadzaib est un peu différent.
Je pense que votre événement de clic n'est pas déclenché. Également besoin de revérifier la condition.
jQuery(document).on('click', 'mfcf7_zl_delete_file', function(){ if (jQuery(".mfcf7-zl-multifile-name").length < limit) { jQuery('.qbutton').removeAttr("disabled"); } });
1. b> La traversée tout au long du document peut ne pas être la meilleure idée que si tous les autres parents de l'arbre étaient insérés de manière dynamique. 2. B> Votre code ne fera rien car il n'y a pas de balise d'élément mfcf7_zl_delete_file code>, il devrait être
.mfcf7_zl_delete_file code>. 3. B>
désactivé code> est une propriété
code> donc
.prop ("désactivé", vrai / faux) code> doit être utilisé.
essayé avec chaque combinaison possible. Malheureusement, rien ne fonctionne.
L'élément non, il vous reste encore à ajouter auditeur du sélecteur DOM
Essayez ceci Vous pouvez utiliser document ou n'importe quel élément parent p> p>
Puisque l'élément cible n'existe pas sur la page lorsque le document code> est prêt qu'aucun événement n'est attaché aux éléments créés après la sélection de fichiers pour le téléchargement. Utilisez la délogation comme ceci capturera des clics sur n'importe quel D'ailleurs, remarquez que j'ai utilisé Vous pouvez utiliser un élément (doit être dans le chemin DOM sur .mfcf7_zl_delete_fcf7_zl_delete_file code> ajouté à
.mfcf7_zl_multifilecontainer code> Une fois la page chargée. p>
.prop () code> au lieu de travailler avec
attr () code>, voir mon commentaire sur votre question pour plus de détails. P>
Corps code> de votre
.qbutton code>. ) que vous savez, il existe sûrement sur la charge de la page au lieu de
corps code> dans le code ci-dessus p> p>
Ne fonctionne pas encore, je peux ajouter de nombreux fichiers comme je le souhaite :( Merci pour vos efforts. Est-il possible de gérer ce problème d'une autre manière? Par exemple, le nombre total de fichiers d'entrée de fichier déposée ou Tolat Nombre de fichier joint dans le champ de saisie.
.mfcf7_zl_delete_file est cette classe existent à la page?
Après avoir ajouté un fichier, cette classe sera visible. (Supprimer le bouton avec nom .mfcf7_zl_delete_file Nom de la classe)
désactivé code> doit être accessoire et l'utilisation doit être
.prop ("désactivé", true) code> et
.prop ("désactivé", false) code> moins pour jQuery> 1.6
rien ne fonctionne du tout.
À propos, j'ai également remarqué que je peux sélectionner plusieurs fichiers à chaque clic, c'est-à-dire la boîte de dialogue Ouvrir le fichier Sélectionnez 5 fichiers et ils sont tous sélectionnés. Je ne suis pas au courant de ce plugin que vous utilisez, donc je ne peux vraiment pas commenter comment il est manipulé.
yah. J'ai aussi remarqué ça. Maintenant, je dois personnaliser ce plugin ou besoin d'acheter une prime :(
Le nom du plug-in est multiple téléchargement de fichier pour le formulaire de contact 7