Je veux mettre un appel de fonction dans mes pages appelées enableTinyMCE(); Dans cette fonction, je veux voir s'il y a des zones de texte dans ma page et si c'est le cas, la fonction tinyMCE.init(). Comment détecter s'il y a des éléments de zone de texte dans la page?Comment trouver/détecter une zone de texte dans une page à l'aide de jQuery?
Répondre
if($('textarea').length > 0) {
...
}
if($('textarea').length > 0) {
document.write('we have at least one textarea');
}
OU
if($('textarea').length) {
document.write('we have at least one textarea');
}
lire ceci, de la FAQ:
http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_test_whether_an_element_exists.3F
Un sélecteur jQuery retourne toujours un tableau, même si aucun élément correspondant n'a été trouvé. Cela signifie que vous devez vérifier la longueur. Essayez ceci à la place.
if($('textarea').length > 0) {
document.write('we have at least one textarea');
}
je l'ai fait ce qui suit comme suggéré mais je veux encore que d'appeler enableTinyMCE s'il y a textareas dans ma page. Je ne peux pas appeler cette fonction dans document.ready. Voir Google! Des idées?
$(function() {
if ($('textarea').length > 0)
{
var data = $('textarea');
$.each(data, function(i)
{
tinyMCE.execCommand('mceAddControl', false, data[i].id);
}
);
}
});
function enableTinyMCE()
{
tinyMCE.init({
plugins: 'paste',
theme_advanced_toolbar_location: 'top',
theme_advanced_buttons1: 'pastetext,pasteword,copy,cut,separator,bold,italic,underline,separator,bullist,numlist,separator,undo,redo,separator,link,unlink,separator,charmap,separator,formatselect,separator,code',
theme_advanced_buttons2: '',
theme_advanced_buttons3: '',
mode: 'textareas',
theme: 'advanced',
theme_advanced_blockformats: 'None=p,Heading 3=h3,Heading 2=h2'
});
}
le tinymce.init doit être appelé en dehors de documentready mais longueur $ ('textarea'). Est toujours égale à zéro à l'extérieur de documentready. Aidez-moi!
pourquoi le tinymce doit-il être appelé en dehors de document.ready? le document.ready est de s'assurer que le DOM est enregistré par le navigateur – TStamper
J'ai trouvé ceci - http://www.latenightpc.com/blog/archives/2008/06/09/setting-up-tinymce-with-jquery -and-cakephp-12 mais je le fais dynamiquement donc je ne connais pas l'identifiant des textareas. Et si vous avez plus d'un textarea – Jon
le sélecteur de jquery que vous utilisez ($ ('textarea') ne cherche pas l'id.Il cherche toutes les balises textarea – TStamper
Pour développer la réponse de karim79.
À partir du jQuery docs page: Remarque: Il n'est pas toujours nécessaire de tester si un élément existe. Le code suivant afficherait l'élément s'il existe, et ne rien faire (pas d'erreurs) si ce n'est pas le cas.
Ce qui signifie que est que vous pouvez juste faire:
$(function(){
$("textarea").each(function(i){
this.enableTinyMCE();
})
})
Edit:
Il est en fait un plugin jQuery en cours d'élaboration à cet effet. Je voudrais télécharger et essayer le plugin et contribuer à son développement si vous le pouvez.
C'est ma solution
if ($('textarea').length > 0)
{
var data = $('textarea');
$.each(data, function(i)
{
tinyMCE.execCommand('mceAddControl', false, data[i].id);
}
);
$('form').bind('form-pre-serialize', function(e) {
tinyMCE.triggerSave(true,true);
});
}
Et pour permettre tinyMCE Je l'ai fait
<% if (ViewData["TextAreaVisible"] != null && bool.Parse(ViewData["TextAreaVisible"].ToString()) == true)
{%>
<script type="text/javascript" src="../../Scripts/tinymce/tiny_mce.js"></script>
<script type="text/javascript">
enableTinyMCE();
</script>
<%} %>
EnableTinyMCE le fait
function enableTinyMCE() {
tinyMCE.init({
plugins: 'paste',
theme_advanced_toolbar_location: 'top',
theme_advanced_buttons1: 'pastetext,pasteword,copy,cut,separator,bold,italic,underline,separator,bullist,numlist,separator,undo,redo,separator,link,unlink,separator,charmap,separator,formatselect,separator,code',
theme_advanced_buttons2: '',
theme_advanced_buttons3: '',
mode: 'none',
theme: 'advanced',
theme_advanced_blockformats: 'None=p,Heading 3=h3,Heading 2=h2'
});
}
Il convient de noter que la fonctionnalité que vous cherchez peut être manipulé par TinyMCE lui-même:
Si vous définissez le paramètre mode
-textareas
dans votre tinyMCE.init() appel, il convertit automatiquement les textareas trouve dans les instances de l'éditeur. S'il n'y a pas de zones de texte, ça ne fera rien, tranquillement.
tinyMCE.init({
...
mode : "textareas",
...
});
A l'inverse, vous pouvez dire TinyMCE convertir seulement textareas qui correspondent à un nom de classe CSS en utilisant la valeur specific_textareas
au paramètre mode
.
tinyMCE.init({
...
mode : "specific_textareas",
editor_selector : "mceEditor"
});
http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/mode
- 1. Comment peupler une zone de texte avec jquery et linebreaks?
- 2. Comment puis-je ouvrir une page HTML et l'afficher dans une zone de texte?
- 3. Comment ajouter une zone de texte dynamiquement?
- 4. Comment effacer une zone de texte onfocus?
- 5. Comment récupérer une valeur de zone de texte à l'aide de JQuery?
- 6. Intégrer l'image dans une zone de texte
- 7. Comment afficher le HTML dans une zone de texte
- 8. Comment copier le contenu d'une zone de texte vers une autre zone de texte à l'aide de javascript?
- 9. DataBind à une zone de texte dans WPF
- 10. Imprimer uniquement une zone de texte
- 11. comment supprimer une zone de texte dans emacs?
- 12. Saisie de texte dans une zone de texte n'appartenant pas à votre application (C#/.NET)
- 13. Comment afficher un accent grave dans une zone de texte
- 14. Comment mettre un masque dans une zone de texte?
- 15. Obtenir la position du curseur dans une zone de texte
- 16. Cohérence des polices dans une zone de texte
- 17. Comment lier un lien hypertexte WPF dans une zone de texte riche à une commande?
- 18. Comment ajouter à une zone de texte la ligne rouge (comme une mauvaise orthographe dans Word)?
- 19. Comment imprimer une valeur dans la zone de texte à partir du fichier texte?
- 20. Comment passer du texte dans une zone de texte à la fonction JavaScript?
- 21. DrawString sur une zone de texte
- 22. Limite de mots dans une zone de texte
- 23. Comment copier une entrée d'une zone de texte à une autre via la case à cocher en utilisant jQuery?
- 24. Entrez l'événement pour passer à une autre zone de texte
- 25. Comment charger html en utilisant jquery dans une zone de texte TinyMCE
- 26. jQuery: Comment capturer la touche TAB dans une zone de texte
- 27. Valeur d'entrée dans une zone de texte de fenêtre enfant
- 28. est-il possible d'avoir différentes couleurs de texte dans une zone de texte ou une zone de liste?
- 29. comment faire pour référencer une zone de texte dans le corps de la page html dans un javascript si la zone de texte ne fait partie d'aucun formulaire?
- 30. Comment définir le texte initial dans une zone de texte TinyMCE?
Pourquoi $ 4 résultat dans ('textarea') de longueur. ? – Jon
Peu importe si vous voulez seulement savoir s'il y en a au moins un. – karim79
ok. si le $ ('textarea'). longueur> 0 je dois inclure le comment cela fonctionne? – Jon