Textarea and Codemirror:テキスト領域を記入してハイライトする方法は?
-
30-09-2019 - |
質問
次のことがあります。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"
});
所属していません StackOverflow