2013-10-04 52 views
0

我在我的窗體中使用TinyMCE。一切都很完美,直到我啓用ajax。點擊'save'時,textarea的'content'爲空,但如果我禁用TinyMCE,則ajax帖子顯示沒問題。有任何想法嗎?Yii和TinyMCE與ajax

這裏是我的代碼中調用TinyMCE的:

$tiny = new TinyMce(); 
    $tiny->buildTinyMce("textarea"); 

TinyMCE的寄存器功能:

public function buildTinyMce($selector="textarea"){ 
    $file = $this->getTinyMce().'/tinymce.min.js'; 
    $script = ' 
    tinymce.init({ 
     selector: "'.$selector.'", 
     theme: "modern", 
     plugins: [ 
      "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker", 
      "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", 
      "save table contextmenu directionality emoticons template paste textcolor responsivefilemanager" 
     ], 
     toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent", 
     toolbar2: "| link unlink | image media | responsivefilemanager", 

     external_filemanager_path:"/filemanager/", 
     filemanager_title:"Media Manager", 
     external_plugins: { "filemanager" : "/filemanager/plugin.min.js"} 
    }); 
    '; 
    Yii::app()->clientScript->registerScriptFile($file); 
    Yii::app()->clientScript->registerScript("1",$script,CClientScript::POS_HEAD); 
} 

,最後我的形式

<div class="row"> 
    <?php echo $form->labelEx($model,'content');?> 
    <?php echo $form->textArea($model,'content');?> 
    <?php echo $form->error($model,'content');?> 
</div> 
    <?php echo $form->error($model,'type');?> 
</div> 

<div class="row buttons"> 
    <?php echo CHtml::ajaxSubmitButton($model->isNewRecord ? 'Save' : 'Update', 
     Yii::app()->createUrl('lesson/create'), array('dataType' => 'html', 'type' => 'post', 'update' => '.err-msg') 
     ); ?> 
</div> 
<?php $this->endWidget(); ?> 
<div class="err-msg"></div> 

回答

0

您需要從編輯到textarea的內容保存前你使用ajax提交結果。

有關保存的詳細信息,請參閱此documentation

如:

tinyMCE.get('TinyMCEId').save();