Foros del Web » Programando para Internet » Javascript »

Error: al enviar datos de form a un js en firefox

Estas en el tema de Error: al enviar datos de form a un js en firefox en el foro de Javascript en Foros del Web. Buen dia: Estoy ya con este problema una semana y no encuentro la solucion, y por eso recurro a ustedes para ver como me ayudan, ...
  #1 (permalink)  
Antiguo 26/12/2011, 15:54
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación Error: al enviar datos de form a un js en firefox

Buen dia:

Estoy ya con este problema una semana y no encuentro la solucion, y por eso recurro a ustedes para ver como me ayudan, de antemano gracias por las respuestas.

Tengo un formulario donde tengo dos select's autocompletados (cuando escribo una letras esta se empieza a autocompletar) filtrados de una base de datos, el detalle es cuando quiero caputar su valor del select no captura, lo que da coraje es que sale en IE, pero en Firefox no, le envio parte del codigo en html y js

Codigo Html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. <link rel='stylesheet' type='text/css' href='css/estilos.css'>
  6. <link type="text/css" rel="stylesheet" href="css/dhtmlgoodies_calendar.css?random=20051112" media="screen"></link>
  7. <link rel='stylesheet' type='text/css' href='css/dhtmlxcombo.css'>
  8.     window.dhx_globalImgPath="images/";
  9. <script type="text/javascript" src="js/dhtmlxcommon.js" language='javascript' runat='server'></script>
  10. <script type="text/javascript" src="js/dhtmlxcombo.js" language='javascript' runat='server'></script>
  11. <script type='text/javascript' src='js/afi_padron.js' language='javascript' runat='server'></script>
  12. <SCRIPT type="text/javascript" src="js/dhtmlgoodies_calendar.js?random=20060118"></script>
  13. <style type='text/css'>
  14. input
  15. {
  16.     font-size: 10pt;
  17.     font-family: Arial;
  18.     border-style: solid;
  19.     border-width: 1px;
  20.     color: #5B6469;
  21.     border-color:#6699FF;
  22. }
  23. select
  24. {
  25.     font-size: 10pt;
  26.     font-family: Arial;
  27.     border-style: solid;
  28.     border-width: 1px;
  29.     color: #5B6469;
  30.     border-color:#6699FF;
  31. }
  32. </head>
  33. <?php
  34.     $condicion=$_SESSION['f_admin'];
  35.     $condicion=2;
  36.     if($condicion==0)
  37.     {
  38.         $procedure = "call sp_Establecimientos()";
  39.         $sp_ccpp="call sp_CCPP()";
  40.     }
  41.     elseif($condicion==1)
  42.     {
  43.         $cod_microred=$_SESSION['codmicred'];
  44.         $cod_microred='200';
  45.         $procedure="call sp_EstablecimientoxRed('".$cod_microred."')";
  46.         $sp_ccpp="call sp_CCPPxRed('".$cod_microred."')";
  47.        
  48.     }
  49.     else
  50.     {
  51.         $cod_microred=$_SESSION['codmicred'];
  52.         $cod_microred='201';
  53.         $procedure="call sp_EstablecimientoxMicrored('".$cod_microred."')";
  54.         $sp_ccpp = "call sp_CCPPxMicroRed('".$cod_microred."')";
  55.     }
  56.     require ('cn_bd/conex.php');
  57.     $sql = mysqli_query($con, "select max(idt_empad) from t_empadronado;") or die(mysqli_error());
  58.     while($row = mysqli_fetch_array($sql))
  59.     {
  60.         $fila=$row['idt_empad'];
  61.     }
  62.     if($fila==NULL)
  63.     {
  64.         $fila='0000001';
  65.     }
  66.     else
  67.     {
  68.         $fila='000000'.$fila+1;
  69.     }
  70. ?>
  71. <table width="580" border="0" align="center" cellpadding="0" cellspacing="0">
  72. <form id="frm_afipadron" name="frm_afipadron" method="post" action="">
  73.     <tr>
  74.       <td>
  75.             <fieldset id='fld1'>
  76.                 <legend align="left">PADRON NOMINADO</legend>
  77.                 <div id='afipadron_nro'>
  78.                   <table width="177" border="0" align="right" cellpadding="0" cellspacing="0">
  79.                     <tr>
  80.                       <td width="84" class="top_textp" align="right">Nro:</td>
  81.                       <td width="132">
  82.                         <input name="cod_afipad" type="text" id="cod_afipadron" size="15" value="<?php echo $fila;?>"/>
  83.                       </td>
  84.                     </tr>
  85.                   </table> 
  86.               </div>
  87.               <br />
  88.               <table width="580" border="0" cellspacing="0" cellpadding="0">
  89.                   <tr>
  90.                     <td><p><img src="images/tlinea.png" width="578" height="7" />
  91.                   </tr>
  92.             </table>
  93.            
  94.             <div id='fldere'>
  95.                 <fieldset id='derecha'>
  96.                     <legend align="left" class="texto7">Centro Poblado</legend>
  97.                     <table width="270" border="0" cellpadding="0" cellspacing="0">
  98.                     <tr>
  99.                         <td height="23">
  100.                         <?php
  101.                             require ('cn_bd/conex.php');
  102.                             $sql = mysqli_query($con, $sp_ccpp) or die (mysqli_error($con));
  103.                             echo "<select name='select_ccpp' id='select_ccpp' style='width:267px'>";
  104.                             echo "<option value='0'></option>";
  105.                             while ($row = mysqli_fetch_array($sql))
  106.                             {
  107.                                 echo "<option value=\"".$row['ubigeot_ccpp']."\">".$row['nombret_ccpp']."</option>\n";
  108.                             }
  109.                             echo "</select>";
  110.                           ?>
  111.                           </td>
  112.                   <script>
  113.                     var z=dhtmlXComboFromSelect("select_ccpp");
  114.                     z.enableFilteringMode(true);    
  115.                   </script>
  116.                     </tr>
  117.                     </div>
  118.                 </fieldset>
  119.             </div>
  120.             <div id='flizq'>
  121.                 <fieldset id='izquierda'>
  122.                     <legend align="left" class="texto7">Establecimiento de Salud</legend>
  123.                     <table width="265   " border="0" cellpadding="0" cellspacing="0">
  124.                     <tr>
  125.                         <td height="23">
  126.                         <?php
  127.                             require ('cn_bd/conex.php');
  128.                             $sql = mysqli_query($con, $procedure) or die (mysqli_error($con));
  129.                             echo "<select name='select_eess' id='select_eess' style='width:267px'>";
  130.                             echo "<option value='0'></option>";
  131.                             while ($row = mysqli_fetch_array($sql))
  132.                             {
  133.                                 $nombre=$row['nomdest_estab'];
  134.                                 $nombre=eregi_replace("PUESTO DE SALUD","P. S.",$nombre);
  135.                                 $nombre=eregi_replace("CENTRO DE SALUD","C. S.",$nombre);                          
  136.                                 echo "<option value=\"".$row['idt_estab']."\">".$nombre."</option>\n";
  137.                             }
  138.                             echo "</select>";
  139.                           ?></td>
  140.                         <script>
  141.                             var z=dhtmlXComboFromSelect("select_eess");
  142.                             z.enableFilteringMode(true);    
  143.                         </script>
  144.                     </tr>
  145.                     </table>
  146.                 </fieldset>
  147.             </div>         
  148.             <img src="images/tlinea.png" width="578" height="7" />
  149.       </td>
  150. <div align="center">
  151.               <input type="button" name="grb_empad" value="Grabar" onclick="grb_afipadron(); return false"/>
  152.               <input type="reset" name="Cancelar" value="Cancelar" />
  153.              </div>
  154.     </tr>
  155.   <tr>
  156.   </form>
  157. </body>
  158. </html>

Codigo AJAX
Código Javascript:
Ver original
  1. function objetoAjax()
  2. {
  3.     var xmlhttp=false;
  4.     try
  5.     {
  6.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  7.     }
  8.     catch (e)
  9.     {
  10.         try
  11.         {
  12.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  13.         }
  14.         catch (E)
  15.         {
  16.             xmlhttp = false;
  17.         }
  18.     }
  19.     if (!xmlhttp && typeof XMLHttpRequest!='undefined')
  20.     {
  21.         xmlhttp = new XMLHttpRequest();
  22.     }
  23.     return xmlhttp;
  24. }
  25.  
  26. function grb_afipadron()
  27. {
  28.     nro_empa = document.frm_afipadron.cod_afipad.value;
  29.     cod_ccpp = document.frm_afipadron.select_ccpp.value;
  30.     cod_eess = document.frm_afipadron.select_eess.value;
  31.     alert(doc_ccpp);
  32. alert(doc_eess);
  33.     ajax=objetoAjax();
  34.     ajax.open("POST", "sp_afipadgrb.php");
  35.     ajax.onreadystatechange=function()
  36.     {
  37.         if (ajax.readyState==4)
  38.         {
  39.             divFormulario.innerHTML = ajax.responseText
  40.             divFormulario.style.display="block";
  41.         }
  42.     }
  43.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  44.     //ajax.send(.....);
  45. }

el detalle es con es codigo cod_ccpp = document.frm_afipadron.select_ccpp.value; en IE funciona pero en firefox no, haber si me dan los pasos para solucionar
  #2 (permalink)  
Antiguo 26/12/2011, 22:37
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Error: al enviar datos de form a un js en firefox

No estoy seguro, pero me parece que no estás obteniendo el valor del select como se debe (te conviene pasar por este artículo). Lo que hay que hacer para obtener el valor de un select es obtener el valor de la opción seleccionada del mismo:
Código Javascript:
Ver original
  1. var valor=select.options[select.selectedIndex].value
¡Suerte!
  #3 (permalink)  
Antiguo 27/12/2011, 11:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación Respuesta: Error: al enviar datos de form a un js en firefox

Gracias por responder:

Aunque ya habia probado anteriormente este codigo, igual no me funciona, lo probe de esta manera:

Código Javascript:
Ver original
  1. function grb_afipadron()
  2. {
  3.     var indice = document.frm_afipadron.sele_ccpp.selectedIndex;
  4.     var cod_ccpp = document.frm_afipadron.sele_ccpp.options[indice].value;
  5.     alert (cod_ccpp);
  6. }
en IE sale este error:
Detalles de error de página web

Mensaje: No se puede obtener valor de la propiedad 'undefined': el objeto es nulo o está sin definir
Línea: 210
Carácter: 5
Código: 0
URI: http://localhost/sis_padron/content/js/afi_padron.js

y en Firefox:
document.frm_afipadron.sele_ccpp is undefined


Retero, utilizo un select autocompletado filtrando de una bd.
El detalle que cuando dejo de utilizar el select autocompletado si funciona.
Haber si me dan la mano con este problema, gracias
  #4 (permalink)  
Antiguo 27/12/2011, 12:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Error: al enviar datos de form a un js en firefox

Hola:

Cita:
Iniciado por dggluz Ver Mensaje
... Lo que hay que hacer para obtener el valor de un select es obtener el valor de la opción seleccionada del mismo:
Código Javascript:
Ver original
  1. var valor=select.options[select.selectedIndex].value
¡Suerte!
Es válido obtener el value directamente desde el control sin necesidad de obtener su selectedIndex (yo mismo lo puse en nuestras FAQs)... incluso se pueden activar los controles con la asignación directa...

Lo que tengo claro es que los cambios en los controles muchas veces son problemáticos... no me extrañaría que no se hubiese generado correctamente.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 27/12/2011, 14:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación Respuesta: Error: al enviar datos de form a un js en firefox

Hola Caricatos:

Anteriormente probe con value desde el control del select con el siguiente codigo
Código Javascript:
Ver original
  1. cod_ccpp = document.frm_afipadron.select_ccpp.value;
resulta que con esto obtengo el valor en IE pero no en firefox, recuerda que este select es autocompletado.
Otra cosa mas, trate de obtener el valor con el otro codigo, pero tambien me da error tanto en firefox como en IE
  #6 (permalink)  
Antiguo 27/12/2011, 15:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Error: al enviar datos de form a un js en firefox

Hola:

Como te comenté antes, los forms o sus controles generados dinámicamente suelen dar bastantes problemas. Te cuento qué podemos hacer... poner ese form en una capa (basta con poner un tag div antes del tag form, y por supuesto, no olvidarte de cerrarlo...) con un id, y cuando quieras usarlo y sabes que te provoca el error, volcar su contenido en un textarea (supongo que sabrás hacerlo)

Así podrás ver como se queda ese form (si se quedan bien los controles: name, value...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 05/01/2012, 10:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Error: al enviar datos de form a un js en firefox

Hola caricatos

Estuve haciendo las pruebas que me recomendastes
Código HTML:
Ver original
  1. <div id='padron_afi'>
  2. <form id="frm_afipadron" name="frm_afipadron" method="post" action="">
  3. codigo
  4. :
  5. :
  6. :
  7. :
  8. </div>
trate de llevar el error a un textarea, veo que los controles quedan, tanto en los selects y en los imputs, pero el detalle es cuando en el la funcion de js saco los valores de los selects, no recupera.

Estuve rebisando el codigo y al parecer es porque el select autocompletable utiliza un jquery y que dentro de una de las funciones definidas dentro de este jquery cambia el nombre al select, pues probe con esta funcion dentro del select
Onclick='mi_funcion(this.id)'
y sabemos que esta daria como resultado el nombre del id del select, pero no es asi, sino que bota el error: document.nom_formulario.nom_select is undefined
Un poco para explicar y haber si me recomiendan con otro select autocompletable que no cambie el nombre del select.
Saludos.

Etiquetas: ajax, firefox, formulario, funcion, html, input, js, php
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 06:16.