Alex Gorbatchev의 Synthax 형광펜을 구현했습니다. 사용자가 강조 표시된 텍스트를 두 번 클릭하면 텍스트 영역에서 div가됩니다. 편집 모드 (하이라이트 된 텍스트 데이터가있는 상태에서 이름없는 텍스트 영역을 즉석에서 생성합니다). 나는 버튼을 만들고 클릭 이벤트를 새로 입력/편집 된 텍스트를 가져 와서 AJAX를 통해 다시 가져 오려고했지만 textAla (하이라이트 된 div로 바뀌 었음) 또는 'undefined'중 하나를 계속 가져옵니다. . 나는 새로 입력 한 텍스트를 얻기 위해 jQuery를 사용하지만 운이 없다. 어떤 도움이라도 대단히 감사합니다! , 당신은 document
의 첫번째textarea
의 값을 반환 $("textarea").val();
을 사용하고있는 데이터를 얻기 위해synthax highlighter - 텍스트 영역 요소에서 강조 표시된 텍스트 편집
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
});
답변 해 주셔서 감사합니다. 여전히이 변수는 정의되지 않았습니다. 나는 일시적인 텍스트 영역을 벗어난 후 즉시 값을 잃어 버리게된다고 생각한다. (사실, 텍스트 영역을 클릭/체크 아웃하면 textarea 태그는 포커스 아웃이 발생하자마자 사라진다. –