Textarea and Codemirror:テキスト領域を記入してハイライトする方法は?

StackOverflow https://stackoverflow.com/questions/3554706

質問

次のことがあります。Textareaとボタン、事前定義されたテキストでそれを記入し、その間にCodemirrorで構文を強調表示したいと思います。

$('#query1').button()
                .click(function() {
                    $('#queryText').val(<?php echo $queryArray[0];?>);
                }

それで:

<form id="queryFrom" name="queryBox"
    action="processquery.php" method="get">
        <textarea id="queryText"
    name="queryText" cols="120" rows="30">
    </textarea>
    </form> 
<button id="query1">Query1</button>
<script type="text/javascript" src="js/code/js/codemirror.js"></script>

<script type="text/javascript">

var editor = CodeMirror.fromTextArea('queryText', {
      height: "150px",
      parserfile: "parsesql.js",
      path: "js/code/js/",
      stylesheet: "js/code/css/sqlcolors.css",
      textWrapping: true
    });
</script>

残念ながら、Codemirrorが有効になっている場合、ボタンからのテキストはエリアに埋められません。何が問題ですか?

親切なアーマンをよろしく。

役に立ちましたか?

解決

Codemirror Textareaを作成するために使用してきたのは、次のとおりです。

CodeMirror.fromTextArea(document.getElementById('queryText'), {
  // your settings here
});

フィールドの名前/IDを与えるだけでなく、getElementByIDに注意してください。

これにより、PHPパーツの周りに引用を投稿する必要があると思います。

val('<?php echo $data[0]; ?>')

OnClickイベントに適切なテキストがロードされている場合は、Sourcecodeを確認する必要があります。うまくいかない場合は、onclickでgetJson()コードをPHPファイルに実行して、JSONエンコードされた配列を返すPHPファイルにキー(データ[0] .fieldまたは同様のもの)のみとしてデータを含む。

他のヒント

私はAを見つけました Codemirror jQueryプラグイン それは、他のイベントハンドラーを追加するjQueryの問題を解決することを約束しますが、それは私には機能しません: - /

これは、それをセットアップする新しい方法です。

$("textarea#codemirror").codemirror({
    lineNumbers : true,
    matchBrackets : true,
    tabMode: "indent"
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top