Foros del Web » Programando para Internet » Javascript »

¿Alguien puede ayudarme? (Javascript básico)

Estas en el tema de ¿Alguien puede ayudarme? (Javascript básico) en el foro de Javascript en Foros del Web. Hola, soy nuevo en esto, hice una página que se supone que debería mostrar la fecha y hora al hacer click en el botón, pero ...
  #1 (permalink)  
Antiguo 17/03/2012, 18:21
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
¿Alguien puede ayudarme? (Javascript básico)

Hola, soy nuevo en esto, hice una página que se supone que debería mostrar la fecha y hora al hacer click en el botón, pero no pasa nada. Disculpen mi ignorancia. Espero que alguien pueda ayudarme.
De antemano muchas gracias.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link rel = "stylesheet"
type = "text/css"
href = "myStyle.css" />
<script type = "text/javascript" src = "javaScript.js"></script>
</head>
<body id = "principalDesign">
<div id = "all" class = "borde">
<button type = "button" id = "fecha" class = "borde">Mustra la fecha</button>
<div id = "date" class = "borde textAlign">
</div>
</div>
</body>
</html>

Aca está el javascript:


//<![CDATA[
<!--
function modifyText() {
var t2 = document.getElementById("date");
t2.innerHTML= Date();
}

// add event listener to t
function load() {
var el = document.getElementById("fecha");
el.addEventListener("click", modifyText, false);
}
​ document.addEventListener("DOMContentLoaded", load, false);
//-->
//]]>
  #2 (permalink)  
Antiguo 18/03/2012, 06:24
 
Fecha de Ingreso: diciembre-2011
Mensajes: 98
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

Toma aquí tienes tu código:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function modifyText() { 
 var fecha=new Date();
document.getElementById("date").innerHTML=fecha.toLocaleDateString(); 
}

</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link rel = "stylesheet"
type = "text/css"
href = "myStyle.css" />
<script type = "text/javascript" src = "javaScript.js"></script>
</head>
<body id = "principalDesign">
<div id = "all" class = "borde">
<button type = "button" id = "fecha" class = "borde" onclick="javascript:modifyText()">Muestra la fecha</button>
<div id = "date" class = "borde textAlign">
</div> 
</div>
</body>
</html> 
  #3 (permalink)  
Antiguo 18/03/2012, 11:40
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

No quiero usar el atributo html "onclick", quiero separar el código html del código javascript. Gracias de todas maneras.
  #4 (permalink)  
Antiguo 18/03/2012, 11:48
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 11 meses
Puntos: 1485
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

¡buenas!
recuerda que al separar el código javascript en archivos *.js, éste solo debe llevar código javascript. veo que tienes comentarios html. el CDATA section tampoco es necesario, por lo mismo... porque el código esta separado del html.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 18/03/2012, 12:00
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años
Puntos: 12
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

Cita:
Iniciado por esede10 Ver Mensaje
No quiero usar el atributo html "onclick", quiero separar el código html del código javascript. Gracias de todas maneras.
Entonces no puedes hacer lo que quieres.
La "unica" forma de que al pulsar un boton html, ocurra algo, es asociando un codigo al evento OnClick de ese boton. Y la forma de hacer eso es con e "atributo" onClick.





En realidad creo que hay otra manera, para Microsoft Internet Explorer, mediante "behaviors". Pero no es recomendable. Por lioso y poco portable.
  #6 (permalink)  
Antiguo 18/03/2012, 12:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 11 meses
Puntos: 1485
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

@luis_vega, ¿conoces el modelo de eventos? desde javascript es posible asignar eventos a elementos, y un ejemplo de ello es el propio código que muestra @esede10 en el primer mensaje. sin embargo, en iexplorer la cosa cambia un poco aunque desconozco si la versión 9 y 10 siguen usando el modelo de siempre. en todo caso, asignar eventos como propiedad no falla en ningún navegador.

Código:
self.onload = function(){alert('soy el evento onload, y lo mismo puedo hacer con onclick');};
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 18/03/2012, 13:04
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

Cita:
Iniciado por zerokilled Ver Mensaje
¡buenas!
recuerda que al separar el código javascript en archivos *.js, éste solo debe llevar código javascript. veo que tienes comentarios html. el CDATA section tampoco es necesario, por lo mismo... porque el código esta separado del html.
Gracias zerokilled, voy a probar, se nota que sabes.
  #8 (permalink)  
Antiguo 18/03/2012, 14:10
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

Todavía no me funciona.
  #9 (permalink)  
Antiguo 18/03/2012, 14:35
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 11 meses
Puntos: 1485
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

le recomiendo que observes la consola del navegador para determinar el error. adicional, poner una URL al código de ejemplo. puede que aquí lo estés mostrando bien pero en el traspaso de código puede que se haya neutralizado algún caracter que este causando el problema. por ejemplo, cuando probe el código me aparecio un error de Unexcpected token porque había un caracter no visible (non-breaking space). tengo la duda si fue por el foro o si realmente fuistes tu. de la misma forma, le invito que siempre que publiques código en el foro utilices los bbcode apropiados para códigos. en todo caso, una vez removido dicho caracter el resto funcionó.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 18/03/2012, 14:45
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

Gracias, ahora funciona, aunque no sé exactamente cómo se arregló, parece que había algún carácter que no se veía molestando.
  #11 (permalink)  
Antiguo 18/03/2012, 16:45
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años
Puntos: 12
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

Cita:
Iniciado por zerokilled Ver Mensaje
@luis_vega, ¿conoces el modelo de eventos? desde javascript es posible asignar eventos a elementos, y un ejemplo de ello es el propio código que muestra @esede10 en el primer mensaje. sin embargo, en iexplorer la cosa cambia un poco aunque desconozco si la versión 9 y 10 siguen usando el modelo de siempre. en todo caso, asignar eventos como propiedad no falla en ningún navegador.
Lo conozco someramente. De ahi que lo de "unica" lo entrecomillase, pues sabia que no es verdad. Aunque si creo que es la mas logica y sencilla en la inmensa mayoria de ocasiones.

¿Que ventaja aporta la asociacion de gestores de eventos a elementos estaticos desde JS?
Solo le he encontrado utilidad cuando los objetos html se creadn dinamicamente.
  #12 (permalink)  
Antiguo 18/03/2012, 17:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 11 meses
Puntos: 1485
Respuesta: ¿Alguien puede ayudarme? (Javascript básico)

me atrevería decir que tiene mucha más ventaja que asociar el handler en el atributo. para mis gusto, siendo la principal ventaja que el código adquiere características del propio lenguaje. por mencionar un ejemplo al vuelo, imagina una variable que no quieres dejarla accesible a cualquier ámbito, solo al de la función que lo utiliza; en otras palabras un closure de la variable. lograr lo mismo en el atributo sería imposible sino complicado. otro aspecto, desde javascript tu puedes controlar el método de captura del evento: bubble o traversing (el estándar le llama capture phase). en definitiva, un script definido en un atributo tiene un contexto de ejecucción distinto que en ocasiones puede ser complicado acoplarlo con otras partes de la aplicación. por otro lado, ¿conoces el patrón MVC? la separación de cada asunto (modelo, vista, control) te permite trabajar de una forma más cómoda. seprando el código es uno de los principios importante para lograr dicho patrón.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: html, 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 11:54.