JavaScript - Funciones en archivo adjunto no funcionan

 
Vista:
sin imagen de perfil

Funciones en archivo adjunto no funcionan

Publicado por PeregrinTuk (5 intervenciones) el 11/03/2012 17:51:18
Si pongo la declaración de una función JavaScript en el head, no hay problema:

1
2
3
4
...
<head>
 
</head>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Funciones en archivo adjunto no funcionan (2)

Publicado por PeregrinTuk (5 intervenciones) el 11/03/2012 18:07:19
He cometido un error y he publicado el anterior post antes de haberlo acabado.

Lo que decía, pongo la función en el head:

1
2
3
4
5
6
7
8
9
10
11
<head>
    ...
    <script type="text/javascript">
        function validar() { ... }
    </script>
</head>
<body>
    ...
    <a href="javascript:validar()">Validar</a>
    ...
</body>


De la anterior manera funciona, pero si lo hago como a continuación:

1
2
3
4
5
6
7
8
9
10
<head>
    ...
    <script type="text/javascript" src="funcionValidar.js">
    </script>
</head>
<body>
    ...
    <a href="javascript:validar()">Validar</a>
    ...
</body>


estando la función validar() dentro del archivo funcionValidar.js (que tiene la ruta correcta porque está en el mismo directorio que la página HTML), entoncies no funciona, al clickar en el enlace no llega a entrar en el código de la función. Si alguien sabe cómo resolver esto, se lo agradecería.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Funciones en archivo adjunto no funcionan (2)

Publicado por xve (2100 intervenciones) el 11/03/2012 18:17:38
Nos puedes mostrar el contenido del archivo funcionValidar.js?? debería de funcionar correctamente...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Funciones en archivo adjunto no funcionan (2)

Publicado por PeregrinTuk (5 intervenciones) el 11/03/2012 21:03:34
Ahora no lo tengo a mano, pero en cuanto pueda lo subiré.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Funciones en archivo adjunto no funcionan (2)

Publicado por PeregrinTuk (5 intervenciones) el 12/03/2012 12:15:02
Éste es el código (los nombres en los posts anteriores eran ficticios):

1
2
3
4
5
6
7
8
9
10
11
12
...
<head>
    ...
    <script type="text/javascript" src="vcAltaIModSoci.js">
    </script>
</head>
<body>
    ...
    <a href="javascript:altaIModSoci()">Modificar</a>
    ...
</body>
...


y el archivo vcAltaIModSoci.js contiene lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// Funcions per validar el formulari d'Alta de Soci

//<script type="text/javascript">

	function validarNom (nom) {
		if (nom == "") { return false; }
		else { return true; }
	}
	
	function validarCognom (cognom) {
		if (cognom == "") { return false; }
		else { return true; }
	}
	
	function validarAdreca (adreca) {
		if (adreca == "") { return false; }
		else { return true; }
	}
	
	function validarTelefon (telefon) {
		if (telefon.length == 9) { return true; }
		else { return false; }
	}
	
	function validarEmail (email, emailrep) {
		if ( (email != "") && (email == emailrep) ) { return true; }
		else { return false; }
		// haurem de posar una RegExp per a controlar la sintaxi de l'e-mail.
	}
 
	function validarDataNaix (dianaix, mesnaix, anynaix) {
		if (dianaix == 31) {
			if ( ( mesnaix == 2 ) || ( mesnaix == 4 ) || ( mesnaix == 6 ) || ( mesnaix == 9 ) || ( mesnaix == 11 ) ) { return false; }
			else { return true; }
		}
		else {
			if (mesnaix == 2) {
				if (dianaix == 30) { return false; }
				else {
					if (dianaix == 29) {
						if (esAnyBixest(anynaix)) { return true; }
						else { return false; }
					}
					else { return true; }
				}
			}
			else { return true; }
		}
	}
 
	function esAnyBixest (any) {
		if ( (any % 4 == 0) && ( (any % 100 != 0) || ( (any % 100 == 0) && (any % 400 == 0) ) ) ) { return true; }
		else { return false; }
	}
 
	function validarCP (codi) {
		if (codi.length != 5) return false;
		else return true;
		// cal mirar que els cinc caràcters siguin xifres.
	}
 
	function validarPoblacio (poblacio) {
		if (poblacio == "") return false;
		else return true;
	}
 
	function validarFormulariSoci () {
		var correcte = true;
		with (window.document.forms[0]) {
			if (!validarNom(nom.value)) { correcte = false; alert("El nom no és válid") ; }
			if (!validarCognom(cognom1.value)) { correcte = false; alert("El primer cognom no és vàlid"); }
			if (!validarCognom(cognom2.value)) { correcte = false; alert("El segon cognom no és vàlid"); }
			if (!validarAdreca(adreca.value)) { correcte = false; alert("L'adreça no és vàlida"); }
			if (!validarTelefon(telefon.value)) { correcte = false; alert("El telèfon no és vàlid"); }
			if (!validarEmail(email.value, emailrep.value)) { correcte = false; alert("E-mail erroni"); }
			if (!validarDataNaix(dianaix.value, mesnaix.value, anynaix.value)) {
				correcte = false; alert("La data de naixement és incorrecta"); }
			if (!validarCP(cp.value)) { correcte = false; alert("El codi postal és erroni."); }
			if (!validarPoblacio(poblacio.value)) { correcte = false; alert("La població no és correcta."); }
		}
		return (correcte);
	}
 
	function altaIModSoci () {
		var correcte = validarFormulariSoci();
		alert(correcte);
		if (correcte) { document.forms[0].submit(); }
	}


Eso es todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Funciones en archivo adjunto no funcionan (2)

Publicado por PeregrinTuk (5 intervenciones) el 12/03/2012 18:01:05
Ya está, solucionado, el error estaba en una función del fichero adjunto, concretamente el campo 'emailrep' no existía y he tenido que cambiar la función correspondiente y su invocación.

Gracias por tu colaboración, xve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar