bjr,

mon formulaire dans ma page www\INM5001\frmCentre.html ne fait pas appel a ma fonction js qui se trouve dans un ficier js.

NB/ j'ai lu sur internet que ça pourrait que la fonction est appelée mais son code retourne une erreur!!!!

mon formulaire contient
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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
<form name="formCentre" onsubmit="return ctrlAvantValidation()" action="php/validerCentre.php" method="post">
	<div class="divData" align="center">
		<table border=0 style="text-align: left">
			<tr>
				<td>Num&eacute;ro centre *: </td>
				<td>
				<input type="text" name="noCentreOB" id="noCentre">
				</td>
			</tr>
			<tr>
				<td>Nom centre *: </td>
				<td>
				<input type="text" name="nomCentreOB" id="nomCentre">
				</td>
			</tr>
			<tr>
				<td>R&eacute;gion *: </td>
				<td>
				<input type="text" name="noRegionOB" id="noRegion">
				</td>
			</tr>
			<tr>
				<td>Date overture *: </td>
				<td>
				<input type="text" name="dateOvertureOB" id="dateOverture">
				</td>
			</tr>
			<tr>
				<td>Date fermeture : </td>
				<td>
				<input type="text" name="champOb" id="dateFermeture">
				</td>
			</tr>
			<tr>
				<td align="center">
				<input type="submit" value="Ins&eacute;rer">
				</td>
				<td align="center">
				<input type="reset" value="Annuler">
				</td>
			</tr>
		</table>
	</div>
</form>

ma fonction ctrlAvantValidation() se trouve dans un fichier www\INM5001\js\
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
function ctrlAvantValidation() {"use strict";
	var ok = true;
	var i = 0;
	var n = 0;
	var champ;
 
	for ( i = 0; i < document.forms.length; i++) {
		for ( n = 0; n < document.forms[i].elements.length; n++) {
			champ = document.forms[i].elements[n];
			//alert("champ "+ champ + "value " + champ.value + "substr "+champ.name.substr(-2));
 
			if (champ.name.substr(-2) == "OB" && (champ.value == null || champ.value == "")) {
				//alert(champ.name.substr(-2));
				champ.style.backgroundColor = red;
				ok = false;
			}
		}
	}
 
	if (!ok) {
		alert("Les champs en * sont obligatoires");
	}
 
	return ok;
}
ma page php se trouve sous www\INM5001\php\validerCentre.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// on se connecte à notre base
$base = mysql_connect('localhost', 'root', '');
mysql_select_db('bd_rayon_laitier', $base);
?>
<html>
	<head>
		<title>Insertion de nouveaux centres dans la base</title>
	</head>
	<body>
		<?php
		// on insère le tuple (mysql_query) et au cas où, on &eacute;crira un petit message d'erreur si la requête ne se passe pas bien (or die)
		$sql = 'INSERT INTO centres VALUES("' . $_POST['noCentre'] . '", "' . $_POST['nomCentre'] . '", "' . $_POST['noRegion'] . '", "' . $_POST['dateOverture'] . '", "' . $_POST['dateOverture'] . '")';
 
		// on insère le tuple (mysql_query) et au cas où, on &eacute;crira un petit message d'erreur si la requête ne se passe pas bien (or die)
		mysql_query($sql) or die('Erreur SQL !' . $sql . '<br />' . mysql_error());
 
		// on ferme la connexion à la base
		mysql_close();
 
		echo 'Nous venons d\'ins&eacute;rer un nouveau centre : ' . $_POST['noCentre'] . ' ' . $_POST['nomCentre'] . ' a la region ' . $_POST['noRegion'];
	?>
	</body>
</html>

ma balise head est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<head>
	<title>Gestion des centres</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<link rel="stylesheet" type="text/css" href="css/style.css">
	<script type="text/javascript" src="js/fctValidation.js"></script>
</head>
NB/ j'ai ajouté "use strict" dans ma fonction js car je l'ai trouve sur internet mais j'ai toujours le même problème.

la plateforme est windows 7.

j’espère que je n'ai rien oublié.

Cordialement