2012-01-01 2179 views
3

我想使用php脚本保存codemirror编辑器的当前内容。我希望在点击按钮时将下面的代码传递给php脚本。下面的脚本已被编辑和工作。获取codemirror的当前内容

var test = code.getValue(); 

但这并不反映编辑器的变化。

<script language = "Javascript"> 
function saveData() { 
     var test = editor.getValue(); 
    new Ajax.Request('savedata.php', { 
    method: 'post', 
    parameters: { 
     test: test, 
     } 
    }); 
} 

</script> 

该编辑器使用: ;

<script> 
var editor = CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: true, 
    lineWrapping: true, 
    extraKeys: {"F11": toggleFullscreenEditing, "Esc": toggleFullscreenEditing}, 
    onBlur: function(){editor.save()} 
}); 

的任何意见或建议高度赞赏。谢谢。

回答

0

带编辑器的最后一个代码...您必须放入一个函数,然后在更改文本区域后调用它 - 也许用OnBlur=""

+2

感谢。以下工作VAR编辑= CodeMirror.fromTextArea(的document.getElementById( “代码”),{ lineNumbers:真实, lineWrapping:真实, extraKeys:{ “F11”:toggleFullscreenEditing, “ESC”:toggleFullscreenEditing}, 的onblur: function(){editor.save()} }); – 2012-01-01 19:18:22

2

注意,CodeMirror的事件API已经改变(见CodeMirror doc

所以上面的应该是这样的:

var editor = CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: true, 
    lineWrapping: true, 
    extraKeys: {"F11": toggleFullscreenEditing, "Esc": toggleFullscreenEditing}, 
}); 

editor.on("blur": function(){editor.save();}); 
+1

+1,感谢您的更新,请注意它是editor.on(“blur”,function(){editor.save();}); (即a,而不是:) – 2013-08-19 04:01:27