0

プロジェクトに問題があります。私のアプリケーションは次のことを行います:

  1. スクリプト ファイルから情報を読み込みます。
  2. CodeMirror で編集する
  3. サーバーにセーブバック

Syntax Highlight に Twitter BootStrap Tabs と Code Mirror を使用しました。

次に行うこと: Tab Show の場合、コンテンツをファイルからテキストエリアにロードし、そこから CodeMirror Editor を作成する必要があります。しかし、試してみると、onShown イベントが発生するたびに CodeMirror オブジェクトのクローンが作成されます。

<!-- ==============================IWSSID-LUA-TAB======================================================-->

    <div class="tab-pane fade" id="iwssid-lua-tab">

        <div>
            <button id="save-iwssid-code" class="btn btn-info" onclick="set_data('lua/iwssid.lua',$('#iwssid-lua-code').val())">Save</button>
            <a href="lua/iwssid.lua" target="_blank" class="btn btn-success pull-right">Dowload File</a>
        </div>

        <br>

        <form>
            <div>
                <textarea id="iwssid-lua-code" name="iwssid-lua-code"></textarea>
            </div>
        </form>

        <script>
            $(function () {

              $('a[href="#iwssid-lua-tab"]').on('shown', function (e) {
                                                post = get_data('lua/iwssid.lua'); 
                                                $('#iwssid-lua-code').val(post);
                                                var iwssid_editor = CodeMirror.fromTextArea(document.getElementById("iwssid-lua-code"), {
                                                                                            mode: "lua",
                                                                                            autofocus: true,
                                                                                            lineNumbers: true,
                                                                                            lineWrapping: true,
                                                                                            onCursorActivity: function() {

                                                                                            iwssid_editor.setLineClass(hlLine, null, null);
                                                                                            hlLine = iwssid_editor.setLineClass(iwssid_editor.getCursor().line, null, "activeline");
                                                                                            },                                                                                        
                                                                                            onBlur: function () { 
                                                                                                iwssid_editor.save();
                                                                                            }
                                                                                            });
                                                var hlLine = iwssid_editor.setLineClass(0, "activeline");
                                                })
              })
            </script>
    </div>
    <!-- ==============================END OF IWSSID-LUA-TAB======================================================-->

set_data および get_data メソッド:

<script>
    function get_data(file) {
        var post;
        $.ajax({
               type: "POST",
               async: false,
               url: "filemanager.php",
               data: { command: "get", filename: file }
               }).done(function(msg ) {
                       post = msg;


                       });
        return post;
    }

    function set_data(file, content) {
        $.ajax({
               type: "POST",
               url: "filemanager.php",
               data: { command: "set", filename: file, data: content }
               }).done(function(msg ) {
                       alert("Done");
                       });
    }

    </script>

iwssid_editor = null新しいものを作成する前にとを設定しようとしましdelete iwssid_editorたが、成功しませんでした。私の間違いを説明してください。 ここに私の問題のスクリーンショットがあります

4

1 に答える 1

-1

ページの読み込み時に Codemirror エディターを作成してみませんか?

于 2012-11-07T06:24:48.867 に答える