刷新div时ckeditor消失了

时间:2012-11-06 14:50:06

标签: php javascript jquery html ckeditor

我有两个页面叫做openclosediv.php和content.php。在openclosediv.php页面中,我有一个记录列表和一个按钮(显示/隐藏div按钮),它将content.php放入openclosediv.php中。在content.php页面中,每当我点击按钮时,我都会有一个ckeditor,上面说过,第一次ckeditor出现,但是第一次按下按钮后ckeditor没有出现。

以下是在openclosediv.php中显示/隐藏div的代码:

    function ShowHideDiv(divid)
    {   

   var block=document.getElementById(divid).style.display;
   if(block=="none")
   {
    document.getElementById(divid).style.display="block";
   }
   else
   {
    document.getElementById(divid).style.display="none";
   }
   var data="divid="+divid;
   jQuery('#'+divid).showLoading();
    $.ajax({
           type: "POST",
           url: "content.php",
           data: data,
           error: function(){
           alert('Error while loading!');
         },
          success: function(data){
            jQuery('#'+divid).hideLoading();
    $('#'+divid).html(data);
     }
     });
   }

在这里我如何在content.php中创建ckeditor:

                $ckeditor = new CKEditor();
                $ckeditor->basePath  = 'ckeditor/' ;
                CKFinder::SetupCKEditor( $ckeditor, 'ckfinder/' ) ;
                $config['height'] = '300';
        $config['width'] = '700';
                $initialValue = "";
                $ckeditor->editor("somename", $initialValue, $config);

提前致谢。

1 个答案:

答案 0 :(得分:1)

由于您使用的是jQuery,因此您可以使用.toggle()方法而不是手动显示和隐藏:

function ShowHideDiv(divid)
{
    $('#' + divid).toggle();

    // Do ajax
}

.toggle()代码应替换此部分:

var block=document.getElementById(divid).style.display;
if(block=="none")
{
   document.getElementById(divid).style.display="block";
}
else
{
   document.getElementById(divid).style.display="none";
}