-
PHP для идиотов
→ Вставка текста в Textarea • Июль 9, 2009, 10:39 п.п.
ну какбе функция вставки текста в textareafunction TextAreaSelectionHelper(obj) { this.target=obj; this.target.carretHandler=this; //ссылка самого на себя для текстового поля this.target.onchange=_textareaSaver; this.target.onclick=_textareaSaver; this.target.onkeyup=_textareaSaver; this.target.o...
ну какбе функция вставки текста в textarea
function TextAreaSelectionHelper(obj) {
this.target=obj;
this.target.carretHandler=this; //ссылка самого на себя для текстового поля
this.target.onchange=_textareaSaver;
this.target.onclick=_textareaSaver;
this.target.onkeyup=_textareaSaver;
this.target.onfocus=_textareaSaver;
if(!document.selection) this.target.onSelect=_textareaSaver; //для Мозиллы
this.start=-1;
this.end=-1;
this.scroll=-1;
this.iesel=null; //для ИЕ
}
TextAreaSelectionHelper.prototype.getSelectedText=function() {
return this.iesel? this.iesel.text: (this.start>=0&&this.end>this.start)? this.target.value.substring(this.start,this.end): "";
}
TextAreaSelectionHelper.prototype.setSelectedText=function(text, secondtag) {
if(this.iesel) {
if(typeof(secondtag)=="string") {
var l=this.iesel.text.length;
this.iesel.text=text+this.iesel.text+secondtag;
this.iesel.moveEnd("character", -secondtag.length);
this.iesel.moveStart("character", -l);
} else {
this.iesel.text=text;
}
this.iesel.select();
} else if(this.start>=0&&this.end>=this.start) {
var left=this.target.value.substring(0,this.start);
var right=this.target.value.substr(this.end);
var scont=this.target.value.substring(this.start, this.end);
if(typeof(secondtag)=="string") {
this.target.value=left+text+scont+secondtag+right;
this.end=this.target.selectionEnd=this.start+text.length+scont.length;
this.start=this.target.selectionStart=this.start+text.length;
} else {
this.target.value=left+text+right;
this.end=this.target.selectionEnd=this.start+text.length;
this.start=this.target.selectionStart=this.start+text.length;
}
this.target.scrollTop=this.scroll;
this.target.focus();
} else {
this.target.value+=text + ((typeof(secondtag)=="string")? secondtag: "");
if(this.scroll>=0) this.target.scrollTop=this.scroll;
}
}
TextAreaSelectionHelper.prototype.getText=function() {
return this.target.value;
}
TextAreaSelectionHelper.prototype.setText=function(text) {
this.target.value=text;
}
function _textareaSaver() {
if(document.selection) {
this.carretHandler.iesel = document.selection.createRange().duplicate();
} else if(typeof(this.selectionStart)!="undefined") {
this.carretHandler.start=this.selectionStart;
this.carretHandler.end=this.selectionEnd;
this.carretHandler.scroll=this.scrollTop;
} else {this.carretHandler.start=this.carretHandler.end=-1;}
}
////////////////////////////////////////////////////////////////////////////////
onload = function () {
text = new TextAreaSelectionHelper(document.getElementById("textarea"));
}
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 9, 2009, 10:12 п.п.
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 9, 2009, 10:10 д.п.
раз уже зашел разговор про BB, то как организовать функцию обработки BB кодов?для вставки текста мне понравилась вот такая фуккция:function TextAreaSelectionHelper(obj) { this.target=obj; this.target.carretHandler=this; //ссылка самого на себя для текстового поля this.target.onchange=_textareaSav...
раз уже зашел разговор про BB, то как организовать функцию обработки BB кодов?
для вставки текста мне понравилась вот такая фуккция:
function TextAreaSelectionHelper(obj) {
this.target=obj;
this.target.carretHandler=this; //ссылка самого на себя для текстового поля
this.target.onchange=_textareaSaver;
this.target.onclick=_textareaSaver;
this.target.onkeyup=_textareaSaver;
this.target.onfocus=_textareaSaver;
if(!document.selection) this.target.onSelect=_textareaSaver; //для Мозиллы
this.start=-1;
this.end=-1;
this.scroll=-1;
this.iesel=null; //для ИЕ
}
TextAreaSelectionHelper.prototype.getSelectedText=function() {
return this.iesel? this.iesel.text: (this.start>=0&&this.end>this.start)? this.target.value.substring(this.start,this.end): "";
}
TextAreaSelectionHelper.prototype.setSelectedText=function(text, secondtag) {
if(this.iesel) {
if(typeof(secondtag)=="string") {
var l=this.iesel.text.length;
this.iesel.text=text+this.iesel.text+secondtag;
this.iesel.moveEnd("character", -secondtag.length);
this.iesel.moveStart("character", -l);
} else {
this.iesel.text=text;
}
this.iesel.select();
} else if(this.start>=0&&this.end>=this.start) {
var left=this.target.value.substring(0,this.start);
var right=this.target.value.substr(this.end);
var scont=this.target.value.substring(this.start, this.end);
if(typeof(secondtag)=="string") {
this.target.value=left+text+scont+secondtag+right;
this.end=this.target.selectionEnd=this.start+text.length+scont.length;
this.start=this.target.selectionStart=this.start+text.length;
} else {
this.target.value=left+text+right;
this.end=this.target.selectionEnd=this.start+text.length;
this.start=this.target.selectionStart=this.start+text.length;
}
this.target.scrollTop=this.scroll;
this.target.focus();
} else {
this.target.value+=text + ((typeof(secondtag)=="string")? secondtag: "");
if(this.scroll>=0) this.target.scrollTop=this.scroll;
}
}
TextAreaSelectionHelper.prototype.getText=function() {
return this.target.value;
}
TextAreaSelectionHelper.prototype.setText=function(text) {
this.target.value=text;
}
function _textareaSaver() {
if(document.selection) {
this.carretHandler.iesel = document.selection.createRange().duplicate();
} else if(typeof(this.selectionStart)!="undefined") {
this.carretHandler.start=this.selectionStart;
this.carretHandler.end=this.selectionEnd;
this.carretHandler.scroll=this.scrollTop;
} else {this.carretHandler.start=this.carretHandler.end=-1;}
}
////////////////////////////////////////////////////////////////////////////////
onload = function () {
text = new TextAreaSelectionHelper(document.getElementById("textarea"));
}
<a class="bold" href='javascript: text.setSelectedText("", "")'>B</a>
Спустя 208 сек.
поиск кстате не рулит,не работает чото(
нефига. не пробовал как сделать bb коды ?
сам то нашел чета полезное в том что ты мне линкнул? я - нет, мож плохо искал но нету там ничо
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 10:54 п.п.
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 10:19 п.п.
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 10:13 п.п.
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 10:05 п.п.
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 9:43 п.п.
еще один вопрос)как организовать вставку текста, перед и после выделенного до этого куска текста, например, теже bb коды, выделил "слово", нажал кнопачку, и вуаля спереди и с зади "слово" выставлено b…../bне ругайте мну за такие вопросы) Спустя 25 сек. поиск кстате не ру...
еще один вопрос)
как организовать вставку текста, перед и после выделенного до этого куска текста, например, теже bb коды, выделил "слово", нажал кнопачку, и вуаля спереди и с зади "слово" выставлено b…../b
не ругайте мну за такие вопросы)
Спустя 25 сек.
поиск кстате не рулит,не работает чото(
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 12:59 д.п.
-
PHP для идиотов
→ Вставка текста в Textarea • Июль 8, 2009, 12:52 д.п.
Как зделать, чтобы по клике кнопки, в textarea вставлялся какое-то, заданое к примеру слово?Я вот, ищу-ищу, не найду, как это организовать?
Как зделать, чтобы по клике кнопки, в textarea вставлялся какое-то, заданое к примеру слово?
Я вот, ищу-ищу, не найду, как это организовать?