Colocar mi texto en negrita, cursiva y subrayado

Encontré esta función en un foro la implemente pero me muestra el siguiente error
Carácter o
Error: insertar no esta definido
Código 1
Esta es la función
function codigo(numero) {
etiquetas = new Array('|b|','|/b|','|i|','|/i|','|u|','|/u|');
seleccion = document.selection.createRange().text;
if (seleccion) {
document.selection.createRange().text = etiquetas[numero] + seleccion + etiquetas[numero+1];
form1.mensaje.focus();
seleccion = '';
return;
}
else {
insertar.mensaje.value += etiquetas[numero] + "texto" + etiquetas[numero+1] + " ";
form1.mensaje.focus();
return;
}
}
Siendo 0 negrita 1 cursiva y 2 subrayado
Mensaje es el nombre de mi textarea.
Y la llamo de la siguiente manera
<img src="./negrilla.gif" onclick="codigo(0)">
Que esta mal

1 respuesta

Respuesta
1
A simple vista veo 3 grandes errores.
El primero y que es el que responde a tu pregunta, no veo que definas la variabl o función insertar
El segundo, es que ese código, utiliza una propiedad única del internet explorer, por lo que el código no funcionara en ningún otro navegador
Por ultimo cuando pases código(0), agregará y , pero cuando pases código 1, lo que escrbirá es y y cuando pases código 2, y (lo buscado era subrayarlo
este código deberíua funcionar:
function makeitbold(tag){
   var texto = document.getElementById("textarea");
   if (document.selection){
seleccion = document.selection.createRange();
alert(seleccion.htmlText);
if (seleccion) {
document.selection.createRange().text = "["+ tag +"]" + seleccion.text + "["+ tag +"]";
texto.focus();
seleccion = '';
return;
}
else{
texto.value = "["+ tag +"]" + $tb.value+ "[/"+ tag +"]";
texto.focus();
return;
}
   }else if (typeof texto.selectionStart != 'undefined'){
     var $before, $after, $selection;
     $before= texto.value.substring(0, texto.selectionStart)
     $selection = texto.value.substring(texto.selectionStart, texto.selectionEnd)
     $after = texto.value.substring(texto.selectionEnd, texto.value.length)
     texto.value= String.concat($before, "<" + tag + ">", $selection, "</" + tag + ">", $after)
   }
    texto.focus();
 }
¿Bueno gracias por tu ayuda pero tengo una duda la variable tag que le paso a la función
makeitbold(tag) que es?
Y como llamaría esta función, si podrías explicarme un poco más la función la verdad no se mucho de javascript
Perdón, me olvidé, la función llamala como quieras, y la variable tag, es la que quieres inserta (b, i o u)
Bueno me refiero al llamarla dentro de mi código por ejemplo
<img src="./negrilla.gif" onclick="makeitbold(<b>)">
o
<img src="./negrilla.gif" onclick="makeitbold(b)">
O que parámetro debo enviarle o cual es la forma correcta de llamar la función
gracias
Perdón XD, estaba dormido. Tiene que llamarla como makeitbold('b')
Ok ya llame la función de esa manera pero al dar click en la imagen de negrita me sale un cuadro de alert vacío el error es el siguiente
Linea 29
Carácter 1
null es nulo o no es un objeto
Código 0
No se que es lo que esta mal.
Gracias por tu ayuda
¿Le diste al textbox la id textbox?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas