Foros del Web » Programando para Internet » Javascript »

No consigo que este script funcione en FIREFOX.

Estas en el tema de No consigo que este script funcione en FIREFOX. en el foro de Javascript en Foros del Web. Hola, tengo esta funcion que sirve para ver distintos colores en un recuadro segun lo rellenado en un formulario: function colorea(){ if (document.all){ nuevoc = ...
  #1 (permalink)  
Antiguo 21/07/2005, 12:34
 
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 18 años, 9 meses
Puntos: 0
No consigo que este script funcione en FIREFOX.

Hola, tengo esta funcion que sirve para ver distintos colores en un recuadro segun lo rellenado en un formulario:

function colorea(){
if (document.all){
nuevoc = "#" + document.frgb.rojo.value + document.frgb.verde.value + document.frgb.azul.value;
document.all["visual"].style.background = nuevoc;
}
else if (document.layers){
nuevoc ="#" + document.frgb.rojo.options[document.frgb.rojo.selectedIndex].value + document.frgb.verde.options[document.frgb.verde.selectedIndex].value + document.frgb.azul.options[document.frgb.azul.selectedIndex].value
document.visual.document.bgColor = nuevoc;
}

}

Y los datos se los pasa a través de un formulario del siguiente tipo:

<form name="frgb">
<table border="0" cellpadding="6" style="border-collapse: collapse" bordercolor="#111111" cellspacing="0">
<tr>
<td align="center">
<font face="arial" size="3" color="#FF0000"><strong>COMPONENTE
R<br />
(ROJO)<br />
<select name="rojo">
<option value="00">00</option>
<option value="33">33</option>
<option value="66">66</option>
<option value="99">99</option>
<option value="CC">CC</option>
<option value="FF" selected>FF</option>
</select> </strong></font></td>
<td align="center">
<font face="arial" size="3" color="#00FF00"><strong>COMPONENTE
G<br />
(VERDE)<br />
<select name="verde">
<option value="00">00</option>
<option value="33">33</option>
<option value="66">66</option>
<option value="99">99</option>
<option value="CC">CC</option>
<option value="FF" selected>FF</option>
</select> </strong></font></td>
<td align="center">
<font face="arial" size="3" color="#0000FF"><strong>COMPONENTE
B<br />
(AZUL)<br />
<select name="azul">
<option value="00">00</option>
<option value="33">33</option>
<option value="66">66</option>
<option value="99">99</option>
<option value="CC">CC</option>
<option value="FF" selected>FF</option>
</select> </strong></font></td>
</tr>
</table>
<table border="0" width="437">
<tr>
<td width="272" align="left">
<input type="button" value="Haz click para ver el resultado" onclick="colorea()" />
<br />
&nbsp;</td>
<td width="71">
<div id="visual" style="border-style:solid; border-width:1; position:relative; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1; top:0px left0px; width:100px">
<font size="3" face="arial"><center></font>
<p><font size="3" face="arial"><br />
Resultado<br />
<br />
</font></p>
</center>
</div>
</td>
</tr>
</table>
</form>

y quiero que la tabla id="visual" se vea del color formado por los números que le indico (es un script que me baje de una página). El problema es que me funciona en explorer y en netscape, pero no en firefox. Que tendría que retocar o añadir para que me funcionase en firefox?
Gracias!
  #2 (permalink)  
Antiguo 22/07/2005, 05:01
Avatar de lokates  
Fecha de Ingreso: julio-2004
Ubicación: Andalucía
Mensajes: 6
Antigüedad: 19 años, 9 meses
Puntos: 0
Creo que no usas el aqcceso a las propiedades del navegador correctas

Hola:

Me parece que debes de usar otro método para acceder a los eventos y objetos del navegador porque los que usas ahora son casi "exclusivos" de IE y Netscape los tiene incorporados, mientras que Firefox y Mozilla se ajustan sólo a estándares.

echa un vistazo aqui:
http://kusor.net/traducciones/brainj...rodom1.es.html

y despues aqui tambien:
http://kusor.net/traducciones/brainj...vents1.es.html

Suerte
  #3 (permalink)  
Antiguo 22/07/2005, 06:55
 
Fecha de Ingreso: marzo-2003
Mensajes: 119
Antigüedad: 21 años, 1 mes
Puntos: 0
resumiendo:
document.getElementById("visual").style.background = nuevoc;

en lugar de:
document.all["visual"].style.background = nuevoc;

y si ya de paso das un id a los campos del form y los llamas por document.getElementById("nombrecampo") en lugar de document.nombreformulario.nombrecampo muchisísimo mejor

  #4 (permalink)  
Antiguo 25/07/2005, 11:57
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
ohhh qué engorroso +_+ pero será, habrá que hacerlo...

ups, lo siento: holas a todos ^^
yo tb tengo una dudilla respecto a esto mismo: significa que usando esa sintaxis funcionarán nuestros códigos tanto en IE como Mozilla?
gracias!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #5 (permalink)  
Antiguo 25/07/2005, 13:19
 
Fecha de Ingreso: marzo-2003
Mensajes: 119
Antigüedad: 21 años, 1 mes
Puntos: 0
a mano es engorroso, pero para eso estan las expresiones regulares en los buenos editores

en cuanto a tu duda, efectivamente IE interpreta normalmente este metodo estandar. en los buenos navegadores como firefox y demás, evidentemente esto se da por hecho.
  #6 (permalink)  
Antiguo 26/07/2005, 04:56
 
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 18 años, 9 meses
Puntos: 0
Muchas gracias a todos por las respuestas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:57.