Duda con manejo de eventos.
Publicado por Pablo (4 intervenciones) el 01/08/2013 17:42:27
El siguiente código no funciona:
en cambio, de esta otra foram si funciona:
No tengo mucha idea de Javascript, es mas, me arreglo con cuatro líneas de código que me sirven para verificar que se rellenan los formularios, etc.
Pero hay ocasiones en los que la cosa se complica y he decidido aprender un poco.
En el ejemplo que no funciona, defino las funciones. He averiguado por ahí que si no pongo el windows.onload el document.getElementByID("mostrar").onClick no se ejecuta. Bueno, vale, lo pongo.
Si lo pongo como atributo onClick del botón (dentro de la etiqueta), si funciona.
Para que todo me funcione, debo "componer" las funciones (así se dice en matemáticas) unas dentro de otras.
Esto me genera problemas de concepto. ¿Por qué no funcina la primera forma?.
Por un lado no quiero que el input tenga muchos atributos, porque luego tienes un form un poco complejo y te pierdes.
Pero si tengo que componer unas funciones dentro de otras, no podré reutilizarlas.
Luego, tampoco he visto (ni con firefox) un debuger que me diga falla en este punto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">
function una_funcion(){
var texto = document.getElementById("mensaje").value;
alert("Has escrito: "+texto);
}
function dalealboton(){
document.getElementById("mostrar").onClick = una_funcion;
}
window.onload = dalealboton;
</script>
<form>
<input type="text" id="mensaje" />
<input type="button" id="mostrar" value="Visualizar Mensaje" /><!-- No hace falta el onClick aquí -->
</form>
en cambio, de esta otra foram si funciona:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
window.onload = dalealboton;
function dalealboton(){
document.getElementById('mostrar').onclick = function(){
var texto = document.getElementById("mensaje").value;
alert("Has escrito: "+texto);
}
}
</script>
<form>
<input type="text" id="mensaje" />
<input type="button" id="mostrar" value="Visualizar Mensaje" /><!-- No hace falta el onClick aquí -->
</form>
No tengo mucha idea de Javascript, es mas, me arreglo con cuatro líneas de código que me sirven para verificar que se rellenan los formularios, etc.
Pero hay ocasiones en los que la cosa se complica y he decidido aprender un poco.
En el ejemplo que no funciona, defino las funciones. He averiguado por ahí que si no pongo el windows.onload el document.getElementByID("mostrar").onClick no se ejecuta. Bueno, vale, lo pongo.
Si lo pongo como atributo onClick del botón (dentro de la etiqueta), si funciona.
Para que todo me funcione, debo "componer" las funciones (así se dice en matemáticas) unas dentro de otras.
Esto me genera problemas de concepto. ¿Por qué no funcina la primera forma?.
Por un lado no quiero que el input tenga muchos atributos, porque luego tienes un form un poco complejo y te pierdes.
Pero si tengo que componer unas funciones dentro de otras, no podré reutilizarlas.
Luego, tampoco he visto (ni con firefox) un debuger que me diga falla en este punto.
Valora esta pregunta


0