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');
Другие вопросы по тегам