Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2008, 13:11
rvelezb
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 81
Antigüedad: 21 años, 5 meses
Puntos: 1
No me reconoce las funciones de un archivo externo

Hola, tengo varias funciones en un archivo externo con extensión ".js", y en mi página tengo puesto de donde lo tiene que coger así:
Código HTML:
<script src="validar.js" type="text/javascipt"></script> 
Pero más adelante cuando llamo a alguna de las funciones que tengo en ese archivo me da error, bueno, corrijo, no da error, simplemente no hace lo que tiene que hacer, lo de error lo he descubierto yo gracias a un inspector de código de esos, que me dice: comprobarEmail is not defined, comprobarNumero is not defined, y validarFormulario is not defined, ¿qué es lo que hago mal?, ¿no está bien puesto para que incluya el código de ese archivo?.

Aquí están las llamadas a las distintas funciones JavaScript,

Código HTML:
<input type="text" name="telefono" size="20" maxlength="12" onblur="comprobarNumero(this)" />
<input type="text" name="email" size="30" maxlength="50" onblur="comprobarEmail(this)" />
<input type="button" name="btn_aceptar" value="Enviar datos" onclick="validarFormulario()"/> 
Y en el archivo javascript con las funciones tengo esto:

Código:
// JavaScript Document
function validarFormulario()
{
	campos = new Array("nombre", "apellidos", "telefono");  
	for(i=0; i<campos.length; i++)
	{
		obj = eval("document.f." + campos[i]);
		if (obj.value == "")
		{
			alert ("Ha de rellenar el campo ["+obj.name+"]");
			obj.focus();
			return;
		}
	}
	document.f.submit();
}
function comprobarNumero(obj)
{
	if (obj.value != "")
		if (isNaN(obj.value))
		{
			alert("Debe introducir un número en el campo " + obj.name);
			obj.focus();
			return;
		}
}
function comprobarEmail(obj)
{
       var hayAlgo = true;
	if (obj.value =="")
		return true;
	else
		obj.value = obj.value.toLowerCase(); // pasamos el campo a minúsculas

	// validar la cuenta de correo usando una expresión regular (RegExp)
	if (obj.value.search(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/ig))
       {
		hayAlgo = false;
		alert ("La cuenta no es válida, debes escribirla de forma: [email protected]");
		obj.focus();
		return false;
	}
	return true;
}