Saya harus dapat merender beberapa tag HTML di dalam textarea (yaitu <strong>, <i>, <u>, <a>) tetapi textareas hanya menafsirkan kontennya sebagai teks. Apakah ada cara mudah untuk melakukannya tanpa mengandalkan perpustakaan / plugin eksternal (saya menggunakan jQuery)? Jika tidak, apakah Anda tahu ada plugin jQuery yang bisa saya gunakan untuk melakukan ini?
javascript
jquery
html
textarea
Biarawan Pengkodean
sumber
sumber
Jawaban:
Ini tidak mungkin dilakukan dengan a
textarea
. Apa yang Anda cari adalah div konten yang dapat diedit , yang sangat mudah dilakukan:jsFiddle
sumber
contenteditable
adalah atribut enumerasi daripada atribut Boolean (adainherit
keadaan juga dantrue
danfalse
), dan saya pikir itu berarti bahwa menentukan nilai adalah wajib, meskipun saya tidak dapat menemukan sedikit spesifikasi untuk mengkonfirmasi ini. MDN tampaknya setuju .contenteditable
tanpa nilai sama dengancontenteditable=""
, yang pada gilirannya sama dengancontenteditable="true"
.textarea
. Mengetikkan<strong>someting</strong>
biola membuat Anda dengan teks yang tepat. HTML tidak diterapkan.Dengan div yang dapat diedit, Anda dapat menggunakan metode
document.execCommand
( detail lebih lanjut ) untuk dengan mudah memberikan dukungan untuk tag yang Anda tentukan dan untuk beberapa fungsi lainnya ..sumber
Karena Anda hanya mengatakan render, ya Anda bisa. Anda dapat melakukan sesuatu seperti ini:
textarea
kehendak membuat html! Selain flashing ketika mengubah ukuran, ketidakmampuan untuk langsung menggunakan kelas dan harus memastikan bahwa div dalamsvg
format yang sama dengantextarea
agar tanda sisipan untuk menyelaraskan dengan benar, itu berfungsi!sumber
Tambahan untuk ini. Anda dapat menggunakan entitas karakter (seperti mengubah
<div>
ke<div>
) dan itu akan ditampilkan di textarea. Tetapi ketika disimpan, nilai dari textarea adalah teks seperti yang diberikan . Jadi Anda tidak perlu melakukan de-encode. Saya baru saja menguji ini di browser (yaitu kembali ke 11).sumber
<textarea> check for url <B>http://localhost/Dashboard.aspx</B> <BR> Tool Started at <B>11/10/2015 3:56:58 AM</B> <BR> .... </textarea>
tidak ditampilkan sebagai HTML. Saya menggunakan Chrome 46.Saya memiliki masalah yang sama tetapi secara terbalik, dan solusi berikut. Saya ingin meletakkan html dari div di sebuah textarea (jadi saya dapat mengedit beberapa reaksi di situs web saya; Saya ingin memiliki textarea di lokasi yang sama.)
Untuk memasukkan konten div ini ke dalam textarea, saya menggunakan:
sumber
coba contoh ini
sumber
Ini dimungkinkan dengan
<textarea>
satu-satunya hal yang perlu Anda lakukan adalah menggunakan editor Summernote WYSIWYGmenafsirkan tag HTML dalam textarea (yaitu
<strong>
,<i>
,<u>
,<a>
)sumber