0

openclosediv.php と content.php という 2 つのページがあります。openclosediv.php ページには、レコードのリストと、 content.php を openclosediv.php に配置するボタン (表示/非表示 div ボタン) があります。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);

前もって感謝します。

4

1 に答える 1

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";
}
于 2012-11-06T15:10:21.333 に答える