MozillaES.org
«La comunidad de Mozilla en español»

Problemas con javascript

Crear páginas para Gecko, diferencias con IE, articulos de interés y recursos en español

Problemas con javascript

Notapor M.S.D. » Vie Mar 09, 2007 11:10 am

Estimados amigos, tengo una página web con javascript que funciona bien en IE pero no funciona en Firefox 2.0

Tengo un combobox (select) en medio de una página web que no pertenece a ningún formulario.

Para saber qué valor tiene uso este código:

if (combobox.value == '0')
precio = 0;

He probado a poner document.combobox y this.combobox y a utilizar otra forma de acceder al valor usando selectedIndex.

En TODOS los casos funciona bien en IE y no hace nada en Firefox.

Creo que el problema es que Firefox no es capaz de localizar el campo select en el documento si está fuera de un formulario.

¿Podría alguien darme una pista de cómo hacer que este sencillo código funcione en Firefox?

Muchas gracias

Manuel
M.S.D.
 

Notapor felipe » Vie Mar 09, 2007 2:55 pm

Y has probado a usar getElementById? (poniéndole al combo el id correspondiente lógicamente)

Un saludo
"No importa cuanto sepas, sino las ganas que tengas de seguir aprendiendo"

Proyecto Nave | BabelZilla
Avatar de Usuario
felipe
Gran Mozilla
Gran Mozilla
 
Mensajes: 5738
Registrado: Vie Jul 09, 2004 11:22 am
Ubicación: En un lugar de La Mancha ...

Notapor ScriptShow » Lun Abr 16, 2007 5:05 pm

Saludos,

Una solución actual buena; que no es compatible con los antiguos navegadores.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>select</title>
<script>
function selec() {
if (document.getElementById("letters").value == 'a') confirm('Has seleccionado A');
if (document.getElementById("letters").value == 'b') confirm('Has seleccionado B');
}
</script
</head>
<body>
<select id="letters" name="letters" onchange="(alert(value));selec()">
<option></option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
</select>
</body>
</html>

¡Elogio de lo nuevo...!.
ScriptShow
 

Notapor xana » Mié Abr 18, 2007 2:51 pm

Buenas, yo tengo el mismo problema que M.S.D, y he probado la solución que propone ScriptShow y a mí no me va.
Me da como error "document.getElementById("paracal") has no propertie.
Alguien me puede explicar porque será?
xana
 

Notapor felipe » Mié Abr 18, 2007 3:12 pm

Sin ver el código es complicado saberlo, revisa que hayas puesto correctamente el identificador del elemento en cuestión.

Un saludo
"No importa cuanto sepas, sino las ganas que tengas de seguir aprendiendo"

Proyecto Nave | BabelZilla
Avatar de Usuario
felipe
Gran Mozilla
Gran Mozilla
 
Mensajes: 5738
Registrado: Vie Jul 09, 2004 11:22 am
Ubicación: En un lugar de La Mancha ...

Notapor xana » Mié Abr 18, 2007 3:20 pm

ya la verdad es que soy la hostia, no me doy cuenta del código, aquí va.

...
<script type="text/javascript" language="JavaScript" src="./script.js"></script>
....
<select name="paracal" title="parametros a calcular" onchange="Parametro()">
<option selected value="espe">Espesor &oacute;ptimo </option>
<option value="carga">Cargar &oacute;ptima</option>
<option value="proba">Probabilidad de rotura</option>
</select>
....



Y en el archivo script.js la función parametro es:

function Parametro(){
obj=document.getElementById('paracal');
obj2=document.getElementById('RowEspesor');
obj3=document.getElementById('RowCarga');
obj4=document.getElementById('RowProba');
if (document.getElementById("paracal").value == "espe"){
obj2.style.display='';
obj3.style.display='none';
obj4.style.display='none';
}
else{
obj2.style.display='none';
obj3.style.display='none';
obj4.style.display='';
}
}


Y lo raro es que con explorer y opera va bien

Gracias por la ayuda ;)
xana
 

Notapor xana » Mié Abr 18, 2007 3:23 pm

me cole, en la funcion Parametro() el if es:
if (obj.value == "espe")

aunque realmente eso no creo que importe mucho
xana
 

Notapor felipe » Mié Abr 18, 2007 7:37 pm

xana escribió:<select name="paracal" title="parametros a calcular" onchange="Parametro()">


Aquí deberías tener puesto id="paracal", si no no existe el elemento con ese id, que es justo el error que te da.

Un saludo
"No importa cuanto sepas, sino las ganas que tengas de seguir aprendiendo"

Proyecto Nave | BabelZilla
Avatar de Usuario
felipe
Gran Mozilla
Gran Mozilla
 
Mensajes: 5738
Registrado: Vie Jul 09, 2004 11:22 am
Ubicación: En un lugar de La Mancha ...

Notapor xana » Mié Abr 18, 2007 8:16 pm

Muchisimas gracias, llevaba todo el día rompiendo los cuernos con el tema.
xana
 

Notapor oxcaret » Mié Sep 05, 2007 9:00 pm

agregale al combo <select id="paracal" name="paracal" title="parametros a calcular" onchange="Parametro()">

id="parcal" esto para que funcione el getElementByID


Saludos
oxcaret México
oxcaret
 

Notapor Invitado » Mié Sep 12, 2007 9:53 am

Yo también tengo problemas al visualizar mi Web con Mozilla. Se ve perfectamente en Explorer. El problema es que no se ven las noticias en scroll, se ve el cuadro vacío.

Código: Seleccionar todo
   <!--webbot bot="HTMLMarkup" startspan --><SCRIPT LANGUAGE="JavaScript">

<!-- Begin
document.write('<marquee id="iescroller" direction="up" width="190" height="285" scrollamount="2" scrolldelay="100" style="border:3 ;">');
iescroller.onmouseover=new Function("iescroller.scrollAmount=0");
iescroller.onmouseout=new Function("iescroller.scrollAmount=2");

document.write('<font size="1" face="Tahoma" color="black">')

document.write('<Div align="left"><strong><span class="style2">XXXXXXXXX</strong></span></a></div><br><br>');
document.write('</font>');
document.write('</marquee>');

//  End -->
</script><!--webbot bot="HTMLMarkup" endspan -->


Y lo mismo me ocurre con un marco que contiene un menú en flash. También lo veo perfectamente en Explorer. El problema aquí es que se ve el menú minúsculo.

Código: Seleccionar todo
<p style="line-height: 150%; margin-top: 2px; margin-bottom: 2px" align="center">
<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" align="left" width="300" height="700">
   <param name="movie" value="menu.swf">
   <param name="quality" value="High">
  <param name="_cx" value="5080">
  <param name="_cy" value="5080">
  <param name="FlashVars" value>
  <param name="Src" value="menu.swf">
  <param name="WMode" value="Window">
  <param name="Play" value="0">
  <param name="Loop" value="-1">
  <param name="SAlign" value>
  <param name="Menu" value="-1">
  <param name="Base" value="parent">
  <param name="AllowScriptAccess" value>
  <param name="Scale" value="ShowAll">
  <param name="DeviceFont" value="0">
  <param name="EmbedMovie" value="0">
  <param name="BGColor" value="black">
  <param name="SWRemote" value>
  <param name="MovieData" value>
  <param name="SeamlessTabbing" value="1">
  <param name="Profile" value="-1">
  <param name="ProfileAddress" value>
  <param name="ProfilePort" value="235086">
  <param name="AllowNetworking" value="all">
  <param name="AllowFullScreen" value="false">
   <embed src="menu.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" quality="High"></object>
</p>
Invitado
 


Volver a Desarrollo web (HTML/CSS/JS, accesibilidad...)

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 2 invitados