JavaScript - definir color especifico a alguna palabra.

   
Vista:

definir color especifico a alguna palabra.

Publicado por Fernando Rueda (5 intervenciones) el 12/09/2007 17:54:26
Ok, lo que quiero hacer ahora es lo siguiente:

estoy trabajando con un textarea y esoty escribiendo y procesando consultas SQL, entonses yo quisiera por ejemplo cuando escriba "select", o cualquier palabra perteneciente a SQL ese select cambiara a color azul, mientras el resto de palabras fuera del lenguaje SQl sean negras.

he estado intentando y lo que unico que he conseguido esque al escribir "select" y que el resto de text que escriba tambien se cambie a azul...........

bueno espero que alguien me pueda ayudar.......Frueda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:definir color especifico a alguna palabra.

Publicado por Web (17 intervenciones) el 17/09/2007 18:43:15
Saludos,

Si se trata de que ocurra dentro del textarea, es complicado, todo el texto adquiere el mismo formato, color, etc.

Hice un test para mantener dos colores, con valores fijos:

<html>
<head>
</head>
<body>
<textarea id="f" value=""></textarea>
<script>
function change_n(){
document.getElementById('f').style.color="#ff0000";
document.getElementById('f').value=" otros";
}
setInterval("change_n()",1);

function change_l(){
document.getElementById('f').style.color="#0000ff";
document.getElementById('f').value="select ";
}
setInterval("change_l()",1);
</script>
</body>
</html>

Esto es lo máximo que conseguí. Obviamente tiene muchas limitaciones. Es sólo una prueba. Si no te gusta experimentar, espero no haberte incordiado mucho. En fin...

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:definir color especifico a alguna palabra.

Publicado por Fernando Rueda (5 intervenciones) el 18/09/2007 23:04:41
No para nada, antes muchas gracias, pues despues de 15 visitas por lo menos alguien se tomo la molestia de responder algo(lol), igual se que es dificil pero no perdia nada com preguntar, y si me sirve lo que hiz, pues yo tambien avance un poco mas que lo anterior.....

Thanx Again........Frueda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:definir color especifico a alguna palabra.

Publicado por Web (17 intervenciones) el 19/09/2007 11:29:19
Saludos,

Un ejemplo adaptado:

<html>
<head>
<script>
/************************************************************
Find-in-page script
By Mark Wilton-Jones 11-12/10/2002
*************************************************************

Please see http://www.howtocreate.co.uk/jslibs/ for details and a demo of this script
Please see http://www.howtocreate.co.uk/jslibs/termsOfUse.html for terms of use

____________________________________________________________*/

function searchForText( toFind, frameToSearch ) {
if( !toFind ) { window.confirm( 'Teclea el texto' ); return; }
if( frameToSearch.focus ) { frameToSearch.focus(); }
if( window.find ) {
//Netscape compatible browsers provide the window.find method
if( document.layers ) {
//Against the JS spec, Netscape 4 will produce errors if too many arguments are given
var ifFound = frameToSearch.find( toFind, false, false );
} else {
var ifFound = frameToSearch.find( toFind, false, false, true, false, true, false );
}
} else if( frameToSearch.document.body && frameToSearch.document.body.createTextRange ) {
//IE or compatible use various TextRange features
if( frameToSearch.document.selection && frameToSearch.document.selection.type != 'None' ) {
//If some text is selected already (previous search or if they have selected it)
//make that the text range. Then move to the end of it to search beyond it
var theRange = frameToSearch.document.selection.createRange();
theRange.collapse( false );
} else {
//If no text is selected, start from the start of the document
var theRange = frameToSearch.document.forms[0].elements[0].createTextRange();
}
//find the next occurrence of the chosen string
var ifFound = theRange.findText( toFind );
if( ifFound && toFind == "select" || toFind == "sql" ) { theRange.select(); }
} else {
confirm ( 'Please use your browser\'s search facility' );
}
if( !ifFound ) { confirm ( 'Fin de la busqueda:\n' + toFind ); }
}
</script>
</head>
<body>
<SCRIPT language=javascript1.2 type=text/javascript>
if( document.body || window.find ) {
document.write( '<form action="" onSubmit="searchForText( this.elements[0].value, window ); return false;">'+
'<textarea onkeyup="searchForText( this.value, this ); return true;"></textarea></form>' );
}
</SCRIPT>
<p>Si tecleas texto que no sea (select ó sql) no ocurre nada.<br>Si tecleas al principio (select ó sql) quedará seleccionado.</p>
</body>
</html>

Se trata de un buscador de palabras en la página, adaptado para que busque en el textarea un texto concreto.
Tiene limitaciones, y algunas posibilidades que puedes ir probando. Por si arroja un poco más de luz al asunto.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:definir color especifico a alguna palabra.

Publicado por Fernando Rueda (5 intervenciones) el 22/09/2007 16:38:32
Huy Brother muchas gracias.....eso si me amplia mucho mas la imaginacion, pues el avance que hice fue que me cambia el color de las palabras pero va cambiando letra por letra osea ....H(rojo)O(azul)L(rojo) L(azul)A(rojo) pero al final si se forma un color y queda fijo, pero me hace eso palabra por palabra entonses todavia no es........Ja-Ja.

Gracias Bro..................Frueda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar