textarea und Codemirror: Wie Textbereich und markiert füllen?
-
30-09-2019 - |
Frage
habe ich ein folloowing: Textbereich und Knopf, ich mag sie durch vordefinierte Text füllen und in Zwischenzeit eine Syntax mit Codemirror Hervorhebung machen:
$('#query1').button()
.click(function() {
$('#queryText').val(<?php echo $queryArray[0];?>);
}
Dann:
<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>
leider der Text aus Button füllt nicht den Bereich, wenn Codemirror aktiviert ist. Was ist das Problem?
Mit freundlichen Grüßen Arman.
Lösung
, was ich habe mit einem Codemirror Textbereich zu erstellen, ist:
CodeMirror.fromTextArea(document.getElementById('queryText'), {
// your settings here
});
Beachten Sie das getElementById statt nur unter Angabe von Namen / ID des Feldes.
Damit ich denke, Sie sollten auch Post Anführungszeichen um den PHP-Teil, so:
val('<?php echo $data[0]; ?>')
Sie sollten ihren Quelltext überprüfen, ob das Onclick-Ereignis den richtigen Text geladen hat. Wenn es nicht funktioniert versuchen, einen getJSON () Code in der OnClick zu einer PHP-Datei, dass Rückkehr JSON codierte Array containt die Daten als nur Schlüssel (data [0] .field oder so ähnlich) auszuführen.
Andere Tipps
fand ich ein Codemirror JQuery-Plugin , dass Versprechen, die Probleme mit jquery Hinzufügen anderer Event-Handler zu lösen , aber es doesn Arbeit für mich: - /
Dies würde die neue Art und Weise eingerichtet werden, es:
$("textarea#codemirror").codemirror({
lineNumbers : true,
matchBrackets : true,
tabMode: "indent"
});