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>
Другие вопросы по тегам