Buenas tardes, César y pedro,,
Primero que nada quería daros las gracias por los comentarios, y por las extensas correcciones
César, tienes razón, no debería de haber usado los mismos nombres como variables y como id's de las etiquetas.
Sobre las variables globales: para que una función conozca el parámetro de otra pensaba que estaba bien utilizar variables globales y no de ámbito local. Es por eso porque he utilizado las variables globales.
Es muy buena idea lo que me comentas que el momento de desaparecer el mensaje de error sea cuando empiezas a escribir algo en el campo y no cuando pierde el foco.
pedro,, , el modo de elegir así los elementos lo había visto comentado por bermartinv en algún ejercicio tuyo (o quizás en alguna suyo), pero recuerdo que lo había dicho él y lo puse en práctica. Pensaba que no era de práctica no recomendada.
Gracias