首先引入这两个css
<link href="../../css/plugins/codemirror/codemirror.css" rel="stylesheet">
<link href="../../css/plugins/codemirror/ambiance.css" rel="stylesheet">
然后页面中定义一个textarea
<textarea id="scriptDesc" name="scriptDesc"></textarea>
然后添加脚本
<!-- 脚本编辑器 开始 -->
<script src="../../js/plugins/codemirror/codemirror.js"></script>
<script src="../../js/plugins/codemirror/mode/javascript/javascript.js"></script>
<!-- 脚本编辑器 结束 -->
然后进行设置【注意:id是 text area得id】 创建完这个对象就可以使用 editor.getValue() editor.setValue()进行取值 赋值操作了【文章最后有 我操作的页面】
var editor = CodeMirror.fromTextArea(document
.getElementById("scriptDesc"), {
lineNumbers : true,
matchBrackets : true,
styleActiveLine : true
});
下面是实现效果
下面是我一个修改页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DBAAS</title>
<link rel="shortcut icon" href="favicon.ico">
<link href="../../css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
<link href="../../css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="../../css/animate.css" rel="stylesheet">
<link href="../../css/style.css?v=4.1.0" rel="stylesheet">
<link href="../../plugins/layui/css/layui.css" rel="stylesheet">
<link href="../../css/plugins/codemirror/codemirror.css" rel="stylesheet">
<link href="../../css/plugins/codemirror/ambiance.css" rel="stylesheet">
</head>
<body>
<div class="col-sm-12">
<form class="form-horizontal m-t" id="scriptForm" method="post" action="">
<input type="hidden" id="id" name="id"/>
<div class="form-group">
<label class="col-sm-3 control-label">脚本名称:</label>
<div class="col-sm-8">
<input id="scriptName" name="scriptName" type="text" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">脚本代码:</label>
<div class="col-sm-8">
<textarea id="scriptDesc" name="scriptDesc"></textarea>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-4 col-sm-offset-3">
<button class="btn btn-primary" type="button" id="save">保存</button>
<button class="btn btn-white" type="button" id="cancel">取消</button>
</div>
</div>
</form>
</div>
<script src="../../js/jquery.min.js?v=2.1.4"></script>
<script src="../../js/bootstrap.min.js?v=3.3.6"></script>
<script src="../../js/content.js?v=1.0.0"></script>
<script src="../../js/plugins/validate/jquery.validate.min.js"></script>
<script src="../../js/plugins/validate/messages_zh.min.js"></script>
<script src="../../js/demo/form-validate-demo.js"></script>
<script src="../../plugins/layer/2.1/layer.js"></script>
<script src="../../plugins/layui/layui.js"></script>
<!-- 脚本编辑器 开始 -->
<script src="../../js/plugins/codemirror/codemirror.js"></script>
<script src="../../js/plugins/codemirror/mode/javascript/javascript.js"></script>
<!-- 脚本编辑器 结束 -->
<!--编写自己的脚本 -->
<script type="text/javascript">
var scriptDesc ;
var editor = CodeMirror.fromTextArea(document
.getElementById("scriptDesc"), {
lineNumbers : true,
matchBrackets : true,
styleActiveLine : true
});
$(function(){
//表单回显数据
var data = JSON.parse(window.localStorage.getItem("data"));
$("#id").val(data.id);
window.localStorage.clear();
var id = data.id;
$.ajax({
url : "/script/selectScript", // 请求url
type : "get", // 提交方式
dataType : "json", // 数据类型
data :{
id:id
},
success : function(res) { // 提交成功的回调函数
editor.setValue(res.data.scriptDesc);
$("#scriptName").val(res.data.scriptName);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
})
$("#cancel").click(function(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
});
/* 修改 */
$("#save").click(function() {
scriptDesc = editor.getValue();
//校验表单数据
var scriptName = $("#scriptName").val();
var id = $("#id").val();
if (scriptName == "") {
layer.msg("脚本名称不能为空");
return;
}
if (scriptDesc == "") {
layer.msg("脚本代码不能为空");
return;
}
var script = {
scriptName: scriptName,
scriptDesc: scriptDesc,
id: id
};
//提交表单
$.ajax({
url : "/script/save", // 请求url
type : "post", // 提交方式
dataType : "json", // 数据类型
data : script,// 参数序列化
success : function(res) { // 提交成功的回调函数
if(res.code == 200){
layer.alert("保存成功",{icon: 6},function(){
var index = parent.layer.getFrameIndex(window.name);
window.parent.location.reload();//刷新父页面
parent.layer.close(index);
})
}else{
layer.msg(res.message);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
});
</script>
</body>
</html>