Foros del Web » Programando para Internet » Javascript »

Javascript en Netscape

Estas en el tema de Javascript en Netscape en el foro de Javascript en Foros del Web. Hola. Tengo una pregunta, de que depende que javascript sea compatible en Netscape? estuve probando aplicaciones en donde se utiliza en determinadas partes javascript y ...
  #1 (permalink)  
Antiguo 05/01/2005, 14:47
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta Javascript en Netscape

Hola.

Tengo una pregunta, de que depende que javascript sea compatible en Netscape? estuve probando aplicaciones en donde se utiliza en determinadas partes javascript y no me respeta el codigo, en algunos casos de manera parcial es decir aveces si y aveces no.

O es que acaso javascript no es nada compatible con Netscape?

se los agradesco de antemano!
saludos y bye
__________________
grissss :Zzz:
  #2 (permalink)  
Antiguo 05/01/2005, 16:19
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Es gracioso lo que dices, porque javascript fue un invento de Netscape. En realidad lo que pasa es que MS hizo su propia versión de Javascript que difiere un poco de la de Netscape.

Muestranos el código que no es "compatible" y lo intentaremos compatibilizar.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 06/01/2005, 14:57
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
ok.

Mas especificamente, estuve validando unas cajas de texto con javascript que encontre en el faq 136 el cual me funciona muy bien!.

en explorer funciona bien , intente correr la aplicacion en netscape 7.2 y al querer teclear algo en las cajas de texto no me funciono, no puedo borrar las cantidades de la caja, pero si puedo seguir aumentando la cifra de numeros.

Ademas tambien no me respeta los requiredfieldvalidator (bueno aunque eso ya no tiene que ver con javascript).

Espero me haya explicado.
saludos y bye
__________________
grissss :Zzz:
  #4 (permalink)  
Antiguo 07/01/2005, 04:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola grisel

¿Hablas de validar cajas de texto con la Faq-136? Esa Faq trata de agregar elementos a un formulario. Aclaranos a que te refieres.

Saludos,
  #5 (permalink)  
Antiguo 08/01/2005, 11:21
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
hola.

perdon es cierto me refiero a la faq 130 "validar la entrada de un campo numerico y dar formato al resultado"

ok.

espero me y saquen de mi duda.
saludos y bye
__________________
grissss :Zzz:
  #6 (permalink)  
Antiguo 08/01/2005, 11:51
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

He echo algunos cambios al código. Pruebalo a ver si funciona:
Código HTML:
<html>
<head>
  <script>
   function NumberFormat(num, numDec, decSep, thousandSep){
    var arg;
    var Dec;
    Dec = Math.pow(10, numDec);
    if (typeof(num) == 'undefined') return;
    if (typeof(decSep) == 'undefined') decSep = ',';
    if (typeof(thousandSep) == 'undefined') thousandSep = '.';
    if (thousandSep == '.')
     arg=/./g;
    else
     if (thousandSep == ',') arg=/,/g;
    if (typeof(arg) != 'undefined') num = num.toString().replace(arg,'');
    num = num.toString().replace(/,/g, '.');
    if (isNaN(num)) num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * Dec + 0.50000000001);
    cents = num % Dec;
    num = Math.floor(num/Dec).toString();
    if (cents < (Dec / 10)) cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
     num = num.substring(0, num.length - (4 * i + 3)) + thousandSep + num.substring(num.length - (4 * i + 3));
    if (Dec == 1)
     return (((sign)? '': '-') + num);
    else
     return (((sign)? '': '-') + num + decSep + cents);
   }

   function EvaluateText(cadena, obj,e){
    opc = false;
    tecla=(document.all) ? e.keyCode : e.which; 
    if (cadena == "%d")
     if (tecla > 47 && tecla < 58)
      opc = true;
    if (cadena == "%f"){
     if (tecla > 47 && tecla < 58)
      opc = true;
     if (obj.value.search("[.*]") == -1 && obj.value.length != 0)
      if (tecla == 46)
       opc = true;
    }
    if(opc == false)
     return false;
   }
  </script>
</head>
<body>
  <form name="frm">
   numero
   <input type="text" name="input1" size="15" value="500034567" onkeypress="return EvaluateText('%f', this,event);" onBlur="this.value = NumberFormat(this.value, '2', '.', ',')"><br><br>
  </form>
</body>
</html> 
Saludos,
  #7 (permalink)  
Antiguo 11/01/2005, 14:21
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola Javier.

Veras estuve haciendo modificaciones en el codigo y pues encontre este codigo aqui mismo en las Faqs pero no recuerdo de cual fue

ok te pongo el codigo, quisiera saber en q te basaste para realizar las modificaciones correspondientes para que funcione en Netscape.

Espero tu respuesta y gracias de antemano.
Saludos y bye.

<html>
<head>
<script language="JavaScript">
function currencyFormat(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true; // Enter
key = String.fromCharCode(whichCode); // Get key value from key code
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
len = fld.value.length;
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = '0'+ decSep + '0' + aux;
if (len == 2) fld.value = '0'+ decSep + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
return false;
}
</script>
</head>
<body>
<script language="JavaScript">
var w = 350;
var h = 50;
resizeTo(w, h);
moveTo((screen.width - w)/ 2, (screen.height - h)/ 2);
</script>
<form>
Tipee un número:
<input type="text" name="test" length="15" onKeyPress="return(currencyFormat(this,',','.',eve nt))">
</form>
</body>
</html>
__________________
grissss :Zzz:
  #8 (permalink)  
Antiguo 12/01/2005, 06:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola grisel

Creo recordar que lo que cambié fue la función function EvaluateText(cadena, obj,e){ para que recogiera el valor de la tecla en IE y NS, en esta línea:

tecla=(document.all) ? e.keyCode : e.which;

y también, logicamente, la forma de llamar a la función. El resto del código no lo he tocado.

El código que has puesto en tu último mensaje ¿no te funciona? ¿que es lo que quieres hacer y que es lo que falla?

Saludos,
  #9 (permalink)  
Antiguo 12/01/2005, 09:11
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
hola de nuevo.

ok el codigo q puse es el que actualmente utilizo y si me funciona pero en netscape no me funciona, ya que no me permite borrar el contenido de la caja de texto.

por eso pregunte en que te habias basado para hacer la modificacion en este codigo.

Muchas gracias por tu ayuda
saludos y bye
__________________
grissss :Zzz:
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:31.