Foros del Web » Programando para Internet » Javascript »

Prolblemas Javascript con firefox

Estas en el tema de Prolblemas Javascript con firefox en el foro de Javascript en Foros del Web. Hola a todos... Tengo on codigo javascript q me funciona perfectament con IE pero en firefox nada de nada... I lo he ehcho pensando en ...
  #1 (permalink)  
Antiguo 13/05/2011, 05:15
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Prolblemas Javascript con firefox

Hola a todos...
Tengo on codigo javascript q me funciona perfectament con IE pero en firefox nada de nada... I lo he ehcho pensando en los dos navegadores...
Me podeis ayudar please....

aqui va el codigo, es una simple verificación de preguntas i respuestas...

function validarDades() {

var i=1;
var j;
var contador=0;
var respostes="";

while (document.getElementById("but"+i)){
var xcontrol=false;
for (j = 0; j < document.getElementsByName("but"+i).length; j++){
if (document.getElementsByName("but"+i)[j].checked){
respostes = respostes + "," + document.getElementsByName("but"+i)[j].value;
xcontrol=true;
}
}
if (xcontrol==false) contador++;
i++;
}
if (contador==0){
if (confirm("Segur que vol enviar les respostes, ja no podrà fer més aquest qüestionari.")){
document.dades.action="ConcursBiblicWeb_insertarRe spostesAmic.asp?respostes="+respostes;
document.dades.submit();
veureBarra();
}

}else{
alert("Et falten "+contador+" preguntes per contestar");
}
}
  #2 (permalink)  
Antiguo 13/05/2011, 06:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Prolblemas Javascript con firefox

Tendrias que repasar el concepto name y el id, creo que los estas usando como si fueran lo mismo.

Un id tiene que ser único mientras que los name no, de ahi la diferencia entre

getElementsByName

getElementById

La condición del while la hago con el length>0 por que

getElementsByName

retorna un object aun que no exista ningun elemento con el nombre pedido... por lo tanto no sirve para evaluar si existe o no... (en cambio getElementById retorna null)


Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5. function validarDades() {
  6.     var i=1;
  7.     var j;
  8.     var contador=0;
  9.     var respostes="";
  10.     var pregunta=document.getElementsByName("but"+i);
  11.     while (pregunta.length>0){
  12.         var xcontrol=false;
  13.         for (j = 0; j < pregunta.length; j++){
  14.             if (pregunta[j].checked){
  15.                 respostes = respostes + "," + pregunta[j].value;
  16.                 xcontrol=true;
  17.             }
  18.         }
  19.         if (xcontrol==false) contador++;
  20.         i++;
  21.         pregunta=document.getElementsByName("but"+i);
  22.     }
  23.     if (contador==0){
  24.         if (confirm("Segur que vol enviar les respostes, ja no podrà fer més aquest qüestionari.")){
  25.             document.dades.action="ConcursBiblicWeb_insertarRespostesAmic.asp?respostes="+respostes;
  26.             document.dades.submit();
  27.             //veureBarra();//Comento la funci&#243; ja que no la tinc !!!!!!!!!!!!!
  28.         }
  29.  
  30.     }else{
  31.         alert("Et falten "+contador+" preguntes per contestar");
  32.     }
  33. }
  34.  
  35.  
  36. </head>
  37.  
  38. <form action="" method="get" name="dades">
  39. P1<input name="but1" type="radio" id="but11" value="11">
  40. <input name="but1" type="radio" id="but12" value="12"><br>
  41.  
  42. P2<input name="but2" type="radio" id="but21" value="21">
  43. <input name="but2" type="radio" id="but22" value="22"><br>
  44.  
  45. P3<input name="but3" type="radio" id="but31" value="31">
  46. <input name="but3" type="radio" id="but32" value="32"><br>
  47. <input name="botEnviar" type="button" onClick="validarDades()" value="Enviar les respostes">
  48. </form>
  49. </body>
  50. </html>

Així funciona amb els dos navegadors.... sort.

Recuerda que el hecho de que una cosa funcione en IE no quiere decir que este bien hecha
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 19/05/2011 a las 12:47

Etiquetas: firefox
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 15:20.