动态页面的CK编辑

时间:2013-01-03 12:47:46

标签: javascript ckeditor

我想在动态加载的加载页面中显示一个Ck编辑器,我使用了以下脚本,但是只有一个ck编辑器显示其他的看起来像文本区域?

     <script >
            function refer(format, id)
            {

            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                req=new XMLHttpRequest();

            }
            else
            {// code for IE6, IE5
                req=new ActiveXObject("Microsoft.XMLHTTP");

            }
            var strURL="referformat.php?format="+format+"&id="+id;

            if (req)
            {
                req.onreadystatechange = function() {



                    if (req.readyState == 4) {
                        // only if "OK"

                        if (req.status == 200)
                        {

                            //var a=document.getElementById('editor1').value="";
                            // alert(a);

                            // alert('i am here');
                            // CKEDITOR.instances.editor1.setData(req.responseText);
                                document.getElementById('refformat').innerHTML=req.responseText;





                CKEDITOR.replace( 'editor1',
                    {

                        fontSize_sizes : "8px;9px;10px;12px;14px;16px;18px;20px;22px;24px;26px;28px;30px;32px;34px",
                        toolbar :
                        [
                            ['Bold', 'Italic','Underline'],
                            ['Source', '-', 'Undo','Redo'],
                            ['Format','Font','FontSize'],
                            ['TextColor','BGColor'],
                            ['NumberedList','BulletedList','-','Blockquote'],
                            ['Link', 'Unlink','SpecialChar'],
                        ],
                        // Strip CKEditor smileys to those commonly used in BBCode.
                        smiley_images :
                        [
                            'regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','tounge_smile.gif',
                            'embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angel_smile.gif','shades_smile.gif',
                            'cry_smile.gif','kiss.gif'
                        ],
                        smiley_descriptions :
                        [
                            'smiley', 'sad', 'wink', 'laugh', 'cheeky', 'blush', 'surprise',
                            'indecision', 'angel', 'cool', 'crying', 'kiss'
                        ]
                } );

                CKEDITOR.replace( 'editor2', 
                    {

                        fontSize_sizes : "8px;9px;10px;12px;14px;16px;18px;20px;22px;24px;26px;28px;30px;32px;34px",
                        toolbar :
                        [
                            ['Bold', 'Italic','Underline'],
                            ['Source', '-', 'Undo','Redo'],
                            ['Format','Font','FontSize'],
                            ['TextColor','BGColor'],
                            ['NumberedList','BulletedList','-','Blockquote'],
                            ['Link', 'Unlink','SpecialChar'],
                        ],
                        // Strip CKEditor smileys to those commonly used in BBCode.
                        smiley_images :
                        [
                            'regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','tounge_smile.gif',
                            'embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angel_smile.gif','shades_smile.gif',
                            'cry_smile.gif','kiss.gif'
                        ],
                        smiley_descriptions :
                        [
                            'smiley', 'sad', 'wink', 'laugh', 'cheeky', 'blush', 'surprise',
                            'indecision', 'angel', 'cool', 'crying', 'kiss'
                        ]
                } );

                    CKEDITOR.replace( 'editor4', 
                    {

                        fontSize_sizes : "8px;9px;10px;12px;14px;16px;18px;20px;22px;24px;26px;28px;30px;32px;34px",
                        toolbar :
                        [
                            ['Bold', 'Italic','Underline'],
                            ['Source', '-', 'Undo','Redo'],
                            ['Format','Font','FontSize'],
                            ['TextColor','BGColor'],
                            ['NumberedList','BulletedList','-','Blockquote'],
                            ['Link', 'Unlink','SpecialChar'],
                        ],
                        // Strip CKEditor smileys to those commonly used in BBCode.
                        smiley_images :
                        [
                            'regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','tounge_smile.gif',
                            'embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angel_smile.gif','shades_smile.gif',
                            'cry_smile.gif','kiss.gif'
                        ],
                        smiley_descriptions :
                        [
                            'smiley', 'sad', 'wink', 'laugh', 'cheeky', 'blush', 'surprise',
                            'indecision', 'angel', 'cool', 'crying', 'kiss'
                        ]
                } );


                CKEDITOR.replace( 'editor3', 
                    {

                        fontSize_sizes : "8px;9px;10px;12px;14px;16px;18px;20px;22px;24px;26px;28px;30px;32px;34px",
                        toolbar :
                        [
                            ['Bold', 'Italic','Underline'],
                            ['Source', '-', 'Undo','Redo'],
                            ['Format','Font','FontSize'],
                            ['TextColor','BGColor'],
                            ['NumberedList','BulletedList','-','Blockquote'],
                            ['Link', 'Unlink','SpecialChar'],
                        ],
                        // Strip CKEditor smileys to those commonly used in BBCode.
                        smiley_images :
                        [
                            'regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','tounge_smile.gif',
                            'embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angel_smile.gif','shades_smile.gif',
                            'cry_smile.gif','kiss.gif'
                        ],
                        smiley_descriptions :
                        [
                            'smiley', 'sad', 'wink', 'laugh', 'cheeky', 'blush', 'surprise',
                            'indecision', 'angel', 'cool', 'crying', 'kiss'
                        ]
                } );

                //]]>





                        } else {
                            alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                        }
                    }
                }       
                req.open("GET", strURL, true);
                req.send(null);
            }
        }

 </script>

使用这个,我想显示3个ckeditor,但ckeditor仅适用于第一个textarea,其余2个文本区ckeditor不工作,我该如何解决这个问题

HTML OF External Page是

f(strtolower(str_replace(' ','',$reffername))=='injuryqedltd' && $format=='ia_format' )
                        {
                            ?>
                            <table>
                            <tr>
                            <td>

                                <strong>Findings on Initial Examination</strong>
                            </td>
                            <td>
                            <textarea  cols="80" rows="10" name="editor2" id="editor2" class="required textarea" title="Enter the Message"><?php echo $result[0]['Initialexam'];?></textarea>


                            </td>
                        </tr>

                         <tr>
                            <td>

                                <strong>Details of Treatment to be Provided</strong>
                            </td>
                            <td>
                            <textarea  cols="80" rows="10" name="editor3" id="editor3" class="required textarea" title="Enter the Message"><?php echo $result[0]['Detailtreatment'];?></textarea>


                            </td>
                        </tr>
                        <tr>
                            <td>

                                <strong>Benefit of Treatment to be Provided</strong>
                            </td>
                            <td>
                            <textarea  cols="80" rows="10" name="editor4" id="editor4" class="required textarea" title="Enter the Message"><?php echo $result[0]['BeTreatment'];?></textarea>


                            </td>
                        </tr>
                        </table>

                <?php       }
                 else if(strtolower(str_replace(' ','',$reffername))=='injuryqedltd' && $format=='fa_format' ) {


                     ?>
                            <table>
                            <tr>
                            <td>

                                <strong>Details of Treatment Provided</strong>
                            </td>
                            <td>
                            <textarea  cols="80" rows="10" name="editor5" id="editor5" class="required textarea" title="Enter the Message"><?php echo $result[0]['Initialexam'];?></textarea>


                            </td>
                        </tr>

                         <tr>
                            <td>

                                <strong>Benefit of Treatment Provided</strong>
                            </td>
                            <td>
                            <textarea  cols="80" rows="10" name="editor6" id="editor6" class="required textarea" title="Enter the Message"><?php echo $result[0]['Detailtreatment'];?></textarea>


                            </td>
                        </tr>
                        <tr>
                            <td>

                                <strong>Discharge Summary</strong>
                            </td>
                            <td>
                            <textarea  cols="80" rows="10" name="editor7" id="editor7" class="required textarea" title="Enter the Message"><?php echo $result[0]['BeTreatment'];?></textarea>


                            </td>
                        </tr>
                        </table>

                <?php



                }
                else 
                    {
                        $sel="SELECT $format as rff FROM `tbl_referreg` WHERE `ref_id`='".$id."'";
        $reffer=$objAdmin->ExecuteQuery($sel,'select');

?>
          <table><tr>
           <td><strong>Assessment Format:</strong></td>
            <td><textarea cols="80" style="margin-left:32px;"  rows="30" name="editor1" id="editor1" class=" textarea" title="Enter the Message"><?php echo $reffer[0]['rff']; ?></textarea></td></tr></table>

                 <?php }
                ?>

1 个答案:

答案 0 :(得分:0)

我试图复制查看HTML和JS,看到你正在替换editor1,editor2,editor3和editor4,但你也有5-7编辑器的textareas。那些是你失踪的吗?如果是这样,只需在需要的地方添加.replace(...)

我首先建议您稍微清理一下代码,以便您和其他人更容易看到正在发生的事情。以下是我用来测试的例子:

<textarea cols="80" rows="10" name="editor2" id="editor2" class="required textarea" title="Enter the Message">A</textarea>
<textarea cols="80" rows="10" name="editor3" id="editor3" class="required textarea" title="Enter the Message">B</textarea>
<textarea cols="80" rows="10" name="editor4" id="editor4" class="required textarea" title="Enter the Message">C</textarea>
<textarea cols="80" rows="10" name="editor5" id="editor5" class="required textarea" title="Enter the Message">D</textarea>
<textarea cols="80" rows="10" name="editor6" id="editor6" class="required textarea" title="Enter the Message">E</textarea>
<textarea cols="80" rows="10" name="editor7" id="editor7" class="required textarea" title="Enter the Message">F</textarea>
<textarea cols="80" style="margin-left:32px;" rows="30" name="editor1" id="editor1" class=" textarea" title="Enter the Message">G</textarea>

<script type="text/javascript" src="http://cdn.jsdelivr.net/ckeditor/4.0/ckeditor.js"></script>
<script>
    function refer()
    {
        var config = {                  
            fontSize_sizes : "8px;9px;10px;12px;14px;16px;18px;20px;22px;24px;26px;28px;30px;32px;34px",
            toolbar :
            [
            ['Bold', 'Italic','Underline'],
            ['Source', '-', 'Undo','Redo'],
            ['Format','Font','FontSize'],
            ['TextColor','BGColor'],
            ['NumberedList','BulletedList','-','Blockquote'],
            ['Link', 'Unlink','SpecialChar'],
            ],
            // Strip CKEditor smileys to those commonly used in BBCode.
            smiley_images :
            [
            'regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','tounge_smile.gif',
            'embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angel_smile.gif','shades_smile.gif',
            'cry_smile.gif','kiss.gif'
            ],
            smiley_descriptions :
            [
            'smiley', 'sad', 'wink', 'laugh', 'cheeky', 'blush', 'surprise',
            'indecision', 'angel', 'cool', 'crying', 'kiss'
            ]
        };

        CKEDITOR.replace( 'editor1', config);
        CKEDITOR.replace( 'editor2', config);
        CKEDITOR.replace( 'editor4', config);
        CKEDITOR.replace( 'editor3', config);
        // Those got replaced nicely
    }
</script>
相关问题