Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

addEventListener, alerts y otros líos

2 de junio de 2015

Hola,

Tengo un código con dos input de tipo de texto que deberían disparar el evento change de manera diferenciada. O bueno eso creo yo.

Cuando realizo cambio en el primer input, aparece mensaje de alerta con el nombre de la función, y el elemento que lo provocó. Lo mismo sucede con el segundo input. Hasta ahí parece funcionar bien.

Pero nada mas pulsar el return del alert del segundo input aparece un nuevo alert, con el nombre de la función asociado al change del primer elemento, pero con el id del segundo elemento.

No entiendo por qué aparece este último alert.

¡Tened paciencia soy novato!

<label for="numero_01">
    <input type="text" name="numero_01" id="numero_01">
</label>
<label for ="numero_02">
    <input type ="text" name="numero_02" id="numero_02">
</label>
/* ---Evento Inicial---*/
addEventListener('load', inicio, false);
 
function inicio()
{
    // ---Disparadores---
    document.getElementById('numero_01'),addEventListener('change',vldt01, false);
    document.getElementById('numero_02').addEventListener('change',vldt02, false);
 
}
 
function vldt01()
{
    var my_id = event.target.id;
    alert("vldt01 " + my_id);
}
 
function vldt02()
{
    var my_id = event.target.id;
    alert("vldt02 " + my_id );   
}

Respuestas

#1

El problema que veo es que en el primer disparador hay un pequeño error de sintaxis en el código. En vez de esto:

document.getElementById('numero_01'),addEventListener('change',vldt01, false);
document.getElementById('numero_02').addEventListener('change',vldt02, false);

Tendrías que usar eso (sólo hay que cambiar una "coma" por un "punto"):

document.getElementById('numero_01').addEventListener('change',vldt01, false);
document.getElementById('numero_02').addEventListener('change',vldt02, false);

@javiereguiluz

3 junio 2015, 8:47
#2

Hola Javier

Muchas gracias por tu rápida respuesta. Siento haberte hecho perder el tiempo por un simple error de sintaxis.

Saludos

@marving_jr

3 junio 2015, 12:11
#3

¡Molestia ninguna! Si hemos creado un foro es para que cualquiera pueda preguntar lo que necesite, especialmene si está empezando en esto de la programación.

Los errores de sintaxis son muy habituales, especialmente cuando son tan difíciles de ver como en este caso. Por eso te recomiendo que si puedes actives el "coloreado de sintaxis" en tu editor de código. Esta es la mejor manera de detectar estos errores: en cuanto veas que los colores hacen cosas raras, es que hay un error de sintaxis cerca de donde empiezan a fallar los colores.

@javiereguiluz

3 junio 2015, 12:14
#4

Ok. Estudio con el netbeans, pero vamos que ni se quejó, ni apareció ningún warning a la izquierda en el margen y en el color de la sintaxis de la sentencia, no aprecio ninguna diferencia de color entre colocar la sintaxis con el punto o con la coma. ¡Vaya vista! Gracias de nuevo Saludos

@marving_jr

3 junio 2015, 12:22