textArea e CodeMirror: come riempire un'area di testo ed evidenziare?
-
30-09-2019 - |
Domanda
Ho un folloowing: textarea e bottone, vorrei riempirlo da un testo predefinito e in frattempo fare una evidenziazione della sintassi con CodeMirror:
$('#query1').button()
.click(function() {
$('#queryText').val(<?php echo $queryArray[0];?>);
}
Quindi:
<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>
purtroppo il testo dal pulsante non riempire l'area se CodeMirror è abilitato. Qual è il problema?
saluti Arman.
Soluzione
quello che ho usato per creare una textarea CodeMirror è:
CodeMirror.fromTextArea(document.getElementById('queryText'), {
// your settings here
});
Si noti la getElementById invece di dare il nome / ID del campo.
In tal modo penso che si dovrebbe citazioni anche postali di tutto la parte PHP, così:
val('<?php echo $data[0]; ?>')
Si dovrebbe controllare il codice sorgente se l'evento onclick ha il testo giusto caricato. Se non lo fa il lavoro tenta di eseguire un codice getJSON () nella onclick a un file PHP che restituisce un JSON codificato serie containt i dati come unica chiave (dati [0] .field o qualcosa di simile).
Altri suggerimenti
Ho trovato un CodeMirror plugin jQuery che promette di risolvere i problemi con jQuery l'aggiunta di altri gestori di eventi , ma doesn lavoro per me: - /
Questo sarebbe il nuovo modo di messa a punto è:
$("textarea#codemirror").codemirror({
lineNumbers : true,
matchBrackets : true,
tabMode: "indent"
});