Foros del Web » Programando para Internet » Javascript »

mostrar dato declarado en el script js

Estas en el tema de mostrar dato declarado en el script js en el foro de Javascript en Foros del Web. Hola, Tengo un pequeño script en js que en función a un numero insertado muestra la definición en un otro campo. En IE y para ...
  #1 (permalink)  
Antiguo 25/01/2012, 05:27
 
Fecha de Ingreso: septiembre-2011
Mensajes: 73
Antigüedad: 12 años, 7 meses
Puntos: 0
mostrar dato declarado en el script js

Hola,
Tengo un pequeño script en js que en función a un numero insertado muestra la definición en un otro campo.
En IE y para Firefox falla sin embargo en Chrome funciona bien.

En IE tras indicar un valor (del 1 al 5) no muestra su definicion en el siguiente campo sino que me muestra la barra de "Elemento emergente bloqueado. Para ver este elemento emergente o consultar..."

Os muestro el código

Código HTML:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <script type="text/javascript">
            
var c1 = new Array("Arroz");
var c2 = new Array("Tomates");
var c3 = new Array("Cebollas");
var c4 = new Array("Pimientos");
var c5 = new Array("Sal fina");


function poneringrediente(){ 

    try{
        if(eval("c" +formulario.codigo.value)==undefined)
        {
    }
    }catch(e){
        e=e.description || e.message;
        alert("el código debe ser entre 1 y 5.");
        formulario.codigo.value="";
        formulario.codigo.focus();
        formulario.desccodigo.option[0].text = "Determine su código alimento";            
    }    
    formulario.desccodigo.options[0].text = eval("c" +formulario.codigo.value)[0];
    formulario.siguientecampo.focus(); 
} 
        
        </script>
    </head>
    <body>
        <form action="recibe.html" method="post" name="formulario">
        
         N de ingrediente(1-5):<input type="text" name="codigo"    onblur="poneringrediente();"/>
                  
       <select size="1" name="desccodigo" id="desccodigo">
                        <option></option>
       </select>            
        </form>
      
    </body> 
Agradecería me ayudarais con vuestros comentarios.
Si para el efecto que quiero conseguir pudiera ser mas sencillo otro script dicidmelo por favor.
  #2 (permalink)  
Antiguo 25/01/2012, 08:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar dato declarado en el script js

use colecciones para asegurar la mejor compatibilidad crossbrowser:

document.forms['formulario'].elements['codigo']
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/01/2012, 10:43
 
Fecha de Ingreso: septiembre-2011
Mensajes: 73
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: mostrar dato declarado en el script js

Maycolalvarez su solución ha sido perfecta.
Muchas gracias !!
  #4 (permalink)  
Antiguo 01/02/2012, 01:11
 
Fecha de Ingreso: septiembre-2011
Mensajes: 73
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: mostrar dato declarado en el script js

disculpen pero nuevamente tengo un problema con la interpretación del js por parte de IE, la situación creo que es similar a la anterior pero no consigo solucionar:

tengo un form con un campo codigo postal, el cual es de 5 digitos y un selector de poblacion:

El código html del form (name="datform") es el siguiente:
Código HTML:
Código Postal:<input type="text" name="codpost" size="9" value="" maxlength="5" onBlur="poblar();"/>

Municipio:<select name="municp"><option>''</option></select> 

La intención es que en base a los dos primeros dígitos del codigo postal, se cargen en el Select las diferentes options que vienen de una matriz como:
Código:
matriz01= new Array("SELECCIONE MUNICIPIO","ALEGRÍA-DULANTZI","AMURRIO","AÑANA")
matriz02= new Array("SELECCIONE MUNICIPIO","ABENGIBRE","ALATOZ","ALBACETE")
estas matrices tienen mas valores de poblaciones pero para el ejemplo sería demasiado. Estos valores lo tengo en un js llamado poblaciones.js

En otro js llamado funciones.js tengo:
Código:
function poblar(){

    var codigoTecleado=document.forms['datform'].elements['codpost'].value;
    var ref_poblacional=codigoTecleado.substr(0,2);
    var reg=eval("matriz" + ref_poblacional).length;
    for (contador = 0; contador<reg; contador++)
    {
        document.forms['datform'].elements['municp'].options[contador] = new Option(eval("matriz" + ref_poblacional)[contador]);               
    }           
}
en la pagina donde se muestra el form hago una llamada tanto a funciones.js como a poblaciones.js

En Chrome, firefox funciona bien pero en IE me aparece de nuevo el mensaje Elemento emergente bloqueado


Gracias a quien pueda aportarme alguna solución/explicación de mis errores
  #5 (permalink)  
Antiguo 01/02/2012, 07:25
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mostrar dato declarado en el script js

precisamente IE tiene muchos problemas al tratar de agregar options a selects dinámicamente, lo mejor en este caso es recostruir el select por completo y asignarlo vía innerHTML a una capa superior.

dicho tema es debatido en internet, puede buscarlo, pero realmente ignoro si lo resolvieran en versiones actuales, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 01/02/2012, 11:55
 
Fecha de Ingreso: septiembre-2011
Mensajes: 73
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: mostrar dato declarado en el script js

Gracias maycolalvarez, voy a pasar a buscar info en relación a la solución que propones.
Saludos

Etiquetas: dato, formulario, funcion, html, input, js
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 01:33.