Hola me gustaría hacer un textarea parecido al que usan en Hotmail o en estos foros.
Por si no saben lo que les digo, les dejo esta imagen:
Alguien me puede decir como se puede hacer esto?
Muchas gracias
| ||||
Yo estoy construyendo uno a base de un script que me dió Caricatos...Acá te paso el código...
Código:
y el editor.js (el archvo de Caricatos es)<script language="JavaScript" src="/librerias/editor.js"></script> <script type="text/javascript" > var elEditor; // declaración necesaria... </script> Formulario para agregar un Artículo a la categoría <!--msws_template type="var" name="categoria" value="Categoria"--><br> <br> <form method="post" action="index.pl"> <p> <input type="hidden" name="action" value="save_new_articulo"><input type="hidden" name="categoria" value="<!--msws_template type="var" name="categoria" value="Categoria"--> "> <span class="css_articulo_form_item_name">Titulo:</span><br> <input type="text" name="titulo"> <br> <br> <span class="css_articulo_form_item_name">Descripción:</span><br> <textarea name="description" rows="3" cols="40"></textarea> <br> <br> <span class="css_articulo_form_item_name">texto:</span><br> <textarea name="texto" rows="10" cols="45"></textarea> </p> <table width="85%" border="1" cellspacing="3" bordercolor="#CCCCCC"> <tr> <td><input type="button" name="Button" value="Negrita" onClick="_insertar(elEditor, '' + prompt('Texto a colocar en Negrita', _lector()) + '');"> <input type="button" name="Button" value="Cusriva" onClick="_insertar(elEditor, '' + prompt('Texto a colocar en Itálica', _lector()) + '');"> <input type="button" name="Button" value="Tachado" onClick="_insertar(elEditor, '
Código:
Espero que te sirva y si alguien tiene uno ya terminado que nos lo comparta !!!var _navegador = navigator.userAgent; var ie = /msi/i.test(_navegador); var op = /opera/i.test(_navegador); var mo = /gecko/i.test(_navegador); var otro = !(ie || mo); var _insertor, _insertar, _formulario, _texto, _lector = ""; function datos_ie() { _texto = document.selection.createRange().text; if (_formulario.createTextRange) _formulario.posi = document.selection.createRange().duplicate(); return true; } function captura_ie() { return _texto; } function captura_mo() { with (_formulario) return value.substring(selectionStart, selectionEnd); } function captura_otro() { return ""; } function poner_mo(f, x) { var Start = f.selectionStart; var End = f.selectionEnd; var inicio = f.value.substr(0, Start); var fin = f.value.substr(End, f.value.length); f.value = inicio + x + fin; if (Start == End) { f.selectionStart = inicio.length + x.length; f.selectionEnd = f.selectionStart; } else { f.selectionStart = inicio.length; f.selectionEnd = inicio.length + x.length; } f.focus(); } function poner_otro(f, x) {// opera u otros navegadores desconocidos f.value += x; f.focus(); } function poner_ie(f, x) { f.focus(); if (f.createTextRange) {// && f.posi) { if (!f.posi) datos_ie(); with(f) { var actuar = (posi.text == ""); posi.text = x; if (!actuar) posi.moveStart("character", -x.length); posi.select(); } } } function ini_editor(formu) { _formulario = formu; if (mo) { _insertar = function(f, x) {poner_mo(f, x);}; _lector = captura_mo; } if (otro) { _insertar = function(f, x) {poner_otro(f, x);}; _lector = captura_otro; } if (ie) { _formulario.onchange = datos_ie; _formulario.onclick = datos_ie; _insertar = function(f, x) {poner_ie(f, x);}; _lector = captura_ie; } return formu; } Saludos
__________________ Esteban Quintana |