synthax highlighter - редактирование выделенного текста в элементе textarea
Я реализовал подсветку Synthax Алекса Горбачева, и она прекрасно работает, однако, когда пользователь дважды щелкает по выделенному тексту (который к тому времени стал div от textarea), он переходит в режим редактирования (генерирует безымянную текстовую область на лету с выделенными текстовыми данными). в этом). Я создал кнопку и выполняю событие click, пытаясь получить от нее вновь введенный / отредактированный текст для повторного размещения через ajax, но я продолжаю получать либо старый текст, который был в textarea (который превратился в выделенный div), либо "undefined", Я использую 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
});
1 ответ
Для получения данных вы используете $("textarea").val();
который возвращает значение первого textarea
в document
, Документы: http://api.jquery.com/val/
Что вам нужно, это что-то вроде: $("textarea:last").val();
, Это вернет значение последнего textarea
в document
, Предполагая, что это будет последним textarea
в document
так как вы упомянули, что он динамически вставляется до перехода в режим редактирования.