JQuery textarea вставить HTML-бит, как RTE, но не RTE
Хорошо, здесь идет - я думаю, <textarea></textarea>
это то, что использовать, поэтому, пожалуйста, скажите мне иначе. Я хочу, чтобы вы создали серию "кнопок", таких как RTE, которая вставляет соответствующий код в текстовое поле. Но обратите внимание, что это не "настоящий RTE". То, что я хотел бы, это текстовая область с "меню", как RTE, но только с 2 или 3 кнопками. Я подозреваю, что код для кнопок будет таким же. Хм... куда я иду... ОК, попробуйте это... на этом (Stackru) RTE есть кнопка "изображение". Я хотел бы знать, как создать то же самое (как я уже сказал, все кнопки, которые я подозреваю, будут в основном одинаковыми). "Модал" позволяет либо вставить изображение src/upload, либо текстовое поле, например, ссылку на YouTube или ссылку Flickr и т. Д. (Они будут отдельными кнопками). Я могу создавать кнопки и т. Д., А также открывать / закрывать модалы и т. Д., Но как вы можете получить код в <textarea></textarea>
Указатели и предложения, пожалуйста. - О, мне вообще не нужен полный RTE, поэтому "вырубленный CKeditor" и т. Д. - это полное излишество. Единственный HTML, который "загружается / используется" в Техасе, это <img src="">
<embed>
или, может быть (забегая вперед) <a href="">
,
1 ответ
Если вы хотите вставить фрагмент текста в текущую позицию курсора внутри элемента textarea. Это поможет вам.
Примечание: Как вы знаете, все html внутри текстовой области никогда не будут отображаться. Для этого вам нужно использовать более сложное решение, такое как движки RTE...
Попробуй это:
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == ‘0′) {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
// calling the function:
insertAtCursor(document.formName.fieldName, 'this');