insert cite at caret/selection pos instead of end

This commit is contained in:
Savetheinternet 2011-07-30 20:11:33 +10:00
parent dcba7462d6
commit 9dc14b04be
2 changed files with 32 additions and 2 deletions

17
main.js
View File

@ -53,7 +53,22 @@ function dopost(form) {
return form.body.value != "" || (typeof form.thread != "undefined" && form.file.value != ""); return form.body.value != "" || (typeof form.thread != "undefined" && form.file.value != "");
} }
function citeReply(id) { function citeReply(id) {
document.getElementById('body').value += '>>' + id + '\n'; body = document.getElementById('body');
if (document.selection) {
// IE
body.focus();
sel = document.selection.createRange();
sel.text = '>>' + id + '\n';
} else if (body.selectionStart || body.selectionStart == '0') {
// Mozilla
start = body.selectionStart;
end = body.selectionEnd;
body.value = body.value.substring(0, start) + '>>' + id + '\n' + body.value.substring(end, body.value.length);
} else {
// ???
body.value += '>>' + id + '\n';
}
} }
var selectedstyle = 'Yotsuba B'; var selectedstyle = 'Yotsuba B';

View File

@ -53,7 +53,22 @@ function dopost(form) {
return form.body.value != "" || (typeof form.thread != "undefined" && form.file.value != ""); return form.body.value != "" || (typeof form.thread != "undefined" && form.file.value != "");
} }
function citeReply(id) { function citeReply(id) {
document.getElementById('body').value += '>>' + id + '\n'; body = document.getElementById('body');
if (document.selection) {
// IE
body.focus();
sel = document.selection.createRange();
sel.text = '>>' + id + '\n';
} else if (body.selectionStart || body.selectionStart == '0') {
// Mozilla
start = body.selectionStart;
end = body.selectionEnd;
body.value = body.value.substring(0, start) + '>>' + id + '\n' + body.value.substring(end, body.value.length);
} else {
// ???
body.value += '>>' + id + '\n';
}
} }
var selectedstyle = '{config[default_stylesheet][0]}'; var selectedstyle = '{config[default_stylesheet][0]}';