Foros del Web » Programando para Internet » Javascript »

Por qué solo me funcionan mis script con IE

Estas en el tema de Por qué solo me funcionan mis script con IE en el foro de Javascript en Foros del Web. Hola buenas, estoy aprendiendo JavaScript pero los ejercicios que estoy haciendo solo me funcionan en Internet Explorer, he probado en safari, firefox y google chrome ...
  #1 (permalink)  
Antiguo 16/10/2009, 01:59
 
Fecha de Ingreso: octubre-2009
Mensajes: 45
Antigüedad: 14 años, 6 meses
Puntos: 3
Por qué solo me funcionan mis script con IE

Hola buenas, estoy aprendiendo JavaScript pero los ejercicios que estoy haciendo solo me funcionan en Internet Explorer, he probado en safari, firefox y google chrome y no me funciona, os voy a dejar un sencillito script para ver si alguien sabe que es lo que me falla o que es lo que tengo que hacer para que funcione en el resto de navegadores. gracias

<html>
<head>
<script>
function muestra()
{
var nombre=cnombre.value;
alert("Eres "+nombre);
cnombre.value="";
cnombre.focus();
}
</script>
</head>

<body>
Nombre:<input type="text" name="cnombre" size="20">
<input type="button" value="Ver" onClick=muestra();>
</body>
</html>
  #2 (permalink)  
Antiguo 16/10/2009, 02:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Por qué solo me funcionan mis script con IE

te falla en todas las lineas que usas el nombre del elemento INPUT con nombre cnombre. sucede que iexplorer te permite escribir el nombre o ID de los elemento directamente en el codigo pero esta forma no es legal. la forma correcta es usando los metodos o propiedades del estandar DOM. hay multiples formas de como llegar al elemento en cuestion:
  • asignandole un ID y con el metodo document.getElementById obtienes la referencia, esta alternativa es valida para todos los elementos.
  • en el caso de los INPUTs, asignas un name, tal como lo tienes ahora mismo, y con el metodo document.getElementsByName recuperas la referencia pero este es un tanto diferente a document.getElementById.
  • la otra forma, y se supone que asi sea como debes tener la estructura HTML, es teniendo los elementos dentro de FORM y le asignas un name. para tomar la referencia puedes seguir la estructura de objetos que el DOM provee, document.form_name.element_name;
  • la otra alternativa, aunque es 100% valida realmente es la menos usada, manejarse por los nodos del documento hasta llegar al elemento.
en todo caso te recomiendo que leas un tutorial y la referencia de DOM. a continuacion dos enlaces, pero hay muchos mas en la web.
http://www.w3schools.com/htmldom/
http://www.w3schools.com/jsref/obj_window.asp
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 18/10/2009, 07:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 45
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Por qué solo me funcionan mis script con IE

Muchas gracias, probaré a ver que tal. el tutorial que tengo debe ser antigüo. Bueno muchas gracias por contestarme
  #4 (permalink)  
Antiguo 19/10/2009, 03:27
 
Fecha de Ingreso: octubre-2009
Mensajes: 45
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Por qué solo me funcionan mis script con IE

Hola probé lo que me dijiste y funciona, muchas gracias. ahora mi duda es porque no me sale este ejercicio. se escribe en una caja un número y en otra caja otro número, se le da al botón y hace la suma mostrandose en una caja de resultado.

<html>
<head>
<title>Ejercicio 14</title>
</head>
<script language="JavaScript" type="text">

function suma(){
var n;
var num;
var result;

n=document.sumas.textfield.value;

num=document.sumas.textfield2.value;
result= (+n + +num);



document.sumas.textfield3.value=result;
}
</script>
<body>

<h1>INTRODUCE LOS NUMEROS QUE DESEAS SUMAR</h1>

<center>
<form name=sumas method="GET">
<input type="text" name="textfield" size=35 maxlength=5><br><br>
<input type="text" name="texfield2" size=35 maxlength=5><br><br>
<input type="submit" name="Submit" onClick="suma()" value="Sumar"><br>
<input type="text" name="textfield3" size=35 maxlength=5>
</form>
</center>

</body>
</html>

A ver que es lo que hago mal.
  #5 (permalink)  
Antiguo 19/10/2009, 03:50
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Por qué solo me funcionan mis script con IE

tienes varios errores y te van a saltar uno tras del otro.
  • Código:
    <script language="JavaScript" type="text">
    
    el atributo language ya no se usa, pues quedo obsoleto, ahora se usa type. sin embargo, el valor de type esta mal. al estar mal, el navegador no puede identificar cual es el lenguaje utilizado y por ende es sinonimo de tener ningun script. el valor correcto es text/javascript.
  • Código:
    <input type="submit" name="Submit" onClick="suma()" value="Sumar"><br>
    
    dudo que el proposito del ejercicio sea enviar los valores por lo que un boton submit en este caso no es lo adecuado. de lo contrario, en algunos navegadores, veras que al pulsar el boton se intenta enviar el formulario a un documento inexistente dado que el formulario carece de atributo action. hay forma de como cancelar el envio pero en este momento no creo que sea oportuno conocerlo, dejare que vayas a tus pasos para no marearte. cambia el tipo de input por button.
  • te saltaran otros errores pero te los voy a dejar para que pienses un poco. una pista, esta relacionado al nombre de un(os) inputs en el script.

[commment]el mejor usuario es aquel que quiere aprender, animo [/comment]
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 19/10/2009, 05:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 45
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Por qué solo me funcionan mis script con IE

<html>
<head>
<title>Ejercicio 14</title>

<script type="text/javascript">

function suma(){
var n;
var num;
var result;

n=document.sumas.uno.value;

num=document.sumas.dos.value;
result= (+n) + (+num);



document.sumas.resu.value=result;

}
</script>
</head>

<body>

<h1>INTRODUCE LOS NUMEROS QUE DESEAS SUMAR</h1>

<center>
<form name=sumas>
<input type="text" name="uno" size=35 maxlength=5><br><br>
<input type="text" name="dos" size=35 maxlength=5><br><br>
<input type="button" onClick="suma()" value="Sumar"><br><br>
<input type="text" name="resu" size=35 maxlength=5>
</form>
</center>

</body>
</html>


jajajaja por fín funciona
  #7 (permalink)  
Antiguo 19/10/2009, 09:13
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Por qué solo me funcionan mis script con IE

Como una alternativa, se me ocurrio lo siguiente:

Código PHP:
<html>
<
head>
<
title>Ejercicio 14</title>

<
script type="text/javascript">
function 
numero(n) {
    return 
parseInt(n.value10);
}

function 
suma() {
    var 
forma document.sumas;
    
    
forma.resu.value numero(forma.uno) + numero(forma.dos);
}
</script>

</head>
<body>

<h1>INTRODUCE LOS NUMEROS QUE DESEAS SUMAR</h1>

<center>
<form name=sumas>
<input type="text" name="uno" size=35 maxlength=5><br><br>
<input type="text" name="dos" size=35 maxlength=5><br><br>
<input type="button" onClick="suma()" value="Sumar"><br><br>
<input type="text" name="resu" size=35 maxlength=5>
</form>
</center>

</body>
</html> 
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 14:10.