TinyEditor - используя $_POST
Ну, у меня есть этот код:
<?php
if(isset($_POST['texto'])) {
$texto = $_POST['texto'];
echo "$texto";
?>
<form action="/env_not.php" method="POST">
<textarea id="tinyeditor" name="texto" style="width: 700px; height: 800px"></textarea>
<script>
var editor = new TINY.editor.edit('editor', {
id: 'tinyeditor',
width: 700,
height: 800,
cssclass: 'tinyeditor',
controlclass: 'tinyeditor-control',
rowclass: 'tinyeditor-header',
dividerclass: 'tinyeditor-divider',
controls: ['bold', 'italic', 'underline', 'strikethrough', '|', 'subscript', 'superscript', '|',
'orderedlist', 'unorderedlist', '|', 'outdent', 'indent', '|', 'leftalign',
'centeralign', 'rightalign', 'blockjustify', '|', 'unformat', '|', 'undo', 'redo', 'n',
'font', 'size', 'style', '|', 'image', 'hr', 'link', 'unlink', '|', 'print'],
footer: true,
fonts: ['Verdana','Arial','Georgia','Trebuchet MS'],
xhtml: true,
cssfile: 'custom.css',
bodyid: 'editor',
footerclass: 'tinyeditor-footer',
toggle: {text: 'source', activetext: 'wysiwyg', cssclass: 'toggle'},
resize: {cssclass: 'resize'}
});
</script> <input type='submit' style='text-align: right' name='enviar' value='Enviar'>
</form>
Когда я отправляю эту форму, мой возврат в $_POST['texto'] остается пустым, как я могу передать значение в TinyEditor, в мой textarea.texto? Потому что мне нужно получить это значение с помощью PHP.
Спасибо!
3 ответа
Ну, это было давно, но я отвечу тем, что нашел. Может быть, это поможет кому-то в будущем.
У меня была та же проблема, и затем я обнаружил, что вы должны нажать "источник" (чтобы просмотреть HTML), а затем отправить. Если нет, то это не спасет то, что вы написали. Понятия не имею, почему это происходит, я сам ищу помощи в этом вопросе.
Вам нужно добавить.. onsubmit="editor.post()" .. в вашу форму, чтобы получить содержимое wysiwyg-editor. Для режима wysiwyg структура iframe строится динамически. Значение вашего объекта textarea не изменяется, пока вы находитесь в режиме wysiwyg. Только в режиме источника. Надеюсь, это поможет.
ПОПРОБУЙТЕ ЭТО РАБОТАЕТ ДЛЯ МЕНЯ:
<form action="/env_not.php" method="POST">
<textarea id="texto" name="texto" style="width: 700px; height: 800px"></textarea>
<script>
var texto = new TINY.editor.edit('texto', {
id: 'texto',
width: 700,
height: 800,
cssclass: 'tinyeditor',
controlclass: 'tinyeditor-control',
rowclass: 'tinyeditor-header',
dividerclass: 'tinyeditor-divider',
controls: ['bold', 'italic', 'underline', 'strikethrough', '|', 'subscript', 'superscript', '|',
'orderedlist', 'unorderedlist', '|', 'outdent', 'indent', '|', 'leftalign',
'centeralign', 'rightalign', 'blockjustify', '|', 'unformat', '|', 'undo', 'redo', 'n',
'font', 'size', 'style', '|', 'image', 'hr', 'link', 'unlink', '|', 'print'],
footer: true,
fonts: ['Verdana','Arial','Georgia','Trebuchet MS'],
xhtml: true,
cssfile: 'custom.css',
bodyid: 'editor',
footerclass: 'tinyeditor-footer',
toggle: {text: 'source', activetext: 'wysiwyg', cssclass: 'toggle'},
resize: {cssclass: 'resize'}
});
$('#enviar').click(function() {
texto.post();
});
</script>
<input type='submit' style='text-align: right' name='enviar' id='enviar' value='Enviar'>
</form>