Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/01/2004, 11:13
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 4 meses
Puntos: 1
Aprende aquí cómo detectar area sombreada en TEXTAREA

Aprende aquí cómo detectar area sombreada en un TEXTAREA

Una de las maneras más eficaces de obtener conocimiento es consultar directamente con la fuente y, en este caso específico, no es otra la fuente que la misma página www.forosdelweb.com.

Sin que ello signifique plagio alguno, me he tomado la libertad de investigar y creo haber llegado a la conclusión de saber cómo “Detectar texto sombreado en un TEXTAREA”, (ver: http://www.forosdelweb.com/s8b9942e0...msg176593.html), partiendo de la experiencia de los que desarrollaron dicha página.

Aquí le doy algunos tips:

Cuando se crea un “Nuevo tema” o se responde a uno existente, se tiene en la respectiva página:

la definición del formulario es:

<FORM name=vbform onsubmit="return validate(this)" action=newthread.php
method=post encType=multipart/form-data>


la definición del botón para las negrillas es (sólo un ejemplo):

<INPUT class=bginput onmouseover="stat('b')" title="BOLD (alt+b)" accessKey=b onclick="vbcode(this.form,'B','')" type=button value=" B ">

la definición del TEXTAREA donde se escribe el mensaje es:

<TEXTAREA onclick=getActiveText(this) tabIndex=2 name=message rows=20 wrap=virtual cols=70 onchange=getActiveText(this)></TEXTAREA>

y son dos (2) los Script encargados de realizar todo el trabajo: vbcode.js y vbcode_language.js .

Dado que estos Script los he colocado en la misma carpeta donde está la página de prueba, entonces están definidos en este caso así:

<SCRIPT language=Javascript src="vbcode.js"></SCRIPT>
<SCRIPT language=Javascript src="vbcode_language.js"></SCRIPT>


Una de las funciones (vbcode) es:

function vbcode(theform,vbcode,prompttext) {
if ((normalmode(theform)) || (vbcode=="IMG")) {
if (text) { var dtext=text; } else { var dtext=prompttext; }
inserttext = prompt(tag_prompt+"\n["+vbcode+"]xxx[/"+vbcode+"]",dtext);
if ((inserttext != null) && (inserttext != ""))
AddTxt = "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";
AddText(AddTxt,theform);

}
else {
donotinsert = false;
for (i = 0; i < tags.length; i++) {
if (tags[i] == vbcode)
donotinsert = true;
}
if (donotinsert)
stat("already_open");
else {
arraypush(tags,vbcode);
AddTxt = "["+vbcode+"]";
AddText(AddTxt,theform);
}
}
theform.message.focus();
}


Por supuesto, se deberá hacer los ajustes necesarios en caso de no existir algunos elementos originales pero que serán requeridos por los Script.

Si lo desean, me envía un MP y yo les envío copia de los dos Script y la página con la cual he probado y he aprendido sobre el tema, pues me parece un buen ejercicio y felicito a sus autores, pero, seguro estoy que no son ninguno de los moderadores (Súper sabios todos) que intervinieron en: http://www.forosdelweb.com/s8b9942e0...msg176593.html.


Saludos.

Última edición por jcl; 16/01/2004 a las 11:19