web-dev-qa-db-fra.com

Quel est le nom de zone de texte par défaut pour Summernote?

Quelqu'un peut-il m'aider avec la valeur de nom textarea par défaut pour Summernote? L'éditeur semble correct sur la page (je peux modifier le texte à l'aide de l'interface), mais POST ne fonctionne pas en fonction de mes connaissances.

J'ai essayé diverses variables POST mais aucune d'entre elles ne semble correcte. Les exemples sont summernote, note-codable et text-area. Les deux derniers sont venus de summernote.js. Jquery n’est pas quelque chose avec lequel j’ai beaucoup d’expérience.

Ce sont ce que j'utilise.

 $('#summernote').summernote({height: 300});
 var sHTML = $('#summernote').code();

et

 <div name="summernote" id="summernote"><?php echo $news_body; ?></div>

J'ai également essayé les lignes ci-dessous séparément pour tenter de changer le nom de textarea en content:

var sHTML = $('#summernote').code(); 
$('#summernote').code();
var content = $('textarea[name="content"]').html($('#summernote').code());
$('textarea[name="content"]').html($('#summernote').code());
var sHTML =  $('textarea[name="content"]').html($('#summernote').code());
var textareaValue = $("#content").code();
$("summernote").code(html);
11
Maelish

Cela s'est avéré être une solution très simple. La source de la confusion est la documentation qui dit d'utiliser un div. Utilisez simplement une zone de texte à la place. Bien que summernote crée une zone de texte de manière dynamique, faites-le quand même. Ça va marcher.

39
Maelish

J'ai trouvé un exemple concret d'utilisation de Summernote avec php sous une forme POST here .

C'est un peu compliqué, alors je vais expliquer ce qui se passe. 

Vous devez d’abord ajouter une zone de texte qui contiendra le contenu de la publication. Dans l'exemple, il y en a un nommé "contenu". Textarea sert également de conteneur pour l'éditeur de summernote, mais vous pouvez tout aussi facilement utiliser une zone de texte masquée et utiliser un div pour le conteneur summernote.

Pour obtenir les données de summernote vers la zone de texte, vous devez appeler la fonction .code () sur l'élément summernote au moment du POST. L'exemple fait cela en définissant le gestionnaire onsubmit sur une fonction (nommée "postForm" dans l'exemple) qui trouve l'élément summernote, obtient l'entrée encodée et définit la chaîne d'encodage en tant que html de textarea. 

4
Landon B

Summernote crée sa propre zone DOM lorsqu’elle est initialisée, même si vous utilisez un balisage <textarea>, celle-ci utilise un <div> avec l’attribut contentEditable de la zone modifiable, ce qui en fait sa classe est note-editable.

Si vous ne l'avez pas déjà fait, je vous encourage à consulter https://summernote.org/deep-dive/ page pour connaître les options disponibles pour les fonctions de l'API.

0
Diemen

Essaye ça:

var sHTML = $('.summernote').summernote('code')
0
Rabin Mallilck