2015-03-10 12 views
10

Czy ktoś może mi pomóc z domyślną wartością nazwy textarea dla Summernote? Edytor wygląda poprawnie na stronie (mogę modyfikować tekst za pomocą interfejsu), ale POST nie działa w oparciu o moje zrozumienie.Jaka jest domyślna nazwa pola tekstowego dla Summernote?

Próbowałem różnych zmiennych POST, ale żaden z nich nie wydaje się poprawny. Przykładami są summernote, note-codable i text-area. Dwa ostatnie pochodziły z summernote.js. Jquery nie jest czymś, z czym mam duże doświadczenie, więc proszę, chodź do mnie.

Oto, czego używam.

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

i

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

Próbowałem zostały również linie poniżej oddzielnie próbując zmienić nazwę textarea do 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); 
+0

To okazało się bardzo prostą poprawką. Źródłem tego zamieszania jest dokumentacja, która mówi o użyciu elementu div. Zamiast tego użyj pola tekstowego. Mimo, że summernote tworzy dynamicznie obszar tekstowy, zrób to mimo to. To zadziała. – Maelish

Odpowiedz

37

To okazało się bardzo prostą poprawką. Źródłem tego zamieszania jest dokumentacja, która mówi o użyciu elementu div. Zamiast tego użyj pola tekstowego. Mimo, że summernote tworzy dynamicznie obszar tekstowy, zrób to mimo to. To zadziała.

4

znalazłem działający przykład wykorzystania Summernote z php wykonującym formularz POST here.

To jest trochę zawiłe, więc wytłumaczę, co się dzieje.

Najpierw należy dodać obszar tekstowy, który będzie kontenerem zawartości postu. W przykładzie znajduje się jedna nazwana "treść". Textarea podwaja się jako kontener edytora summernote, ale równie dobrze można użyć ukrytego textarea i użyć div dla kontenera summernote.

Aby pobrać dane z summernote do textarea, należy wywołać funkcję .code() na elemencie summernote w momencie testu POST. Przykład robi to, ustawiając procedurę obsługi onsubmit na funkcję (o nazwie "postForm" w przykładzie), która znajduje element summernote, pobiera zakodowane dane wejściowe i ustawia łańcuch kodowania jako html obszaru tekstowego.

0

Spróbuj tego:

var sHTML = $('.summernote').summernote('code') 
+2

Chociaż może to odpowiedzieć na pytanie, lepiej wyjaśnić zasadnicze części odpowiedzi i ewentualnie jaki był problem z kodem OPs. – pirho

0

Summernote buduje swój własny obszar DOM kiedy to zainicjowany, nawet jeśli używasz <textarea> to znaczników używa <div> z contentEditable atrybutu dla obszaru edycji, która btw, to jest klasa note-editable.

Jeśli jeszcze tego nie zrobiłeś, zachęcam do sprawdzenia strony https://summernote.org/deep-dive/ pod kątem dostępnych funkcji API.

Powiązane problemy