我已经实现了 Alex Gorbatchev 的 Synthax 荧光笔,它工作得很好,但是当用户双击突出显示的文本(那时它变成了 textarea 的 div)时,它进入了编辑模式(使用突出显示的文本数据动态生成无名 textarea在里面)。我创建了一个按钮,并执行单击事件,试图从中获取新输入/编辑的文本以通过 ajax 重新发布,但我不断收到 textarea 中的旧文本(变成高亮的 div)或“未定义” . 我正在使用 jQuery 来获取新输入的文本,但没有运气。任何帮助是极大的赞赏!
extends layout
block content
h2=d.title
a(class='button', href='/documents/' + d._id + '/edit') Edit
p
a(href='/documents', class='button')
← All Documents
script(type="text/javascript")
SyntaxHighlighter.all();
SyntaxHighlighter.config.tagName = "textarea";
form(name="form1")
div(style="width:800px; margin:0 auto; border: 2px grey solid;")
textarea(class="brush: js;", style="width:800px;", readonly="true", id = "srcText", disabled)
=d.data || ''
button(id="submit", class='button')
script
$("#submit").click(function (e) {
console.log("boom");
var dId = '#{d._id}';
var dData = $("textarea").val(); // << -- problem here cant obtain the value
console.log("DATA is: ", dData);
var updateDocumentIdPath = "/documents/" + dId + "/update";
$.ajax({
url: updateDocumentIdPath,
type: "POST",
data: {"data": dData},
success: function (data) {
console.log("success");
console.log(data);
},
error: function () {
console.log("error");
},
complete: function () {
}
}); // END ajax
});