Probleme script js dans fichier php
Posté : 21 août 2019, 18:17
Bonjour à tous,
Je viens vers vous car j'ai un problème, en effet j'ai rédiger un formulaire avec une auto complétion ( requêtes ajax dans une base de données ) au niveau des villes, celui-ci fonctionne très bien lorsqu'il est lancé seul.
Voici le code
Je viens vers vous car j'ai un problème, en effet j'ai rédiger un formulaire avec une auto complétion ( requêtes ajax dans une base de données ) au niveau des villes, celui-ci fonctionne très bien lorsqu'il est lancé seul.
Voici le code
<!DOCTYPE html>
<html>
<head>
<title>Formulaire </title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<link rel="stylesheet" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body onclick="fermerliste()">
<br /><br />
<div class="container">
<h3 >Merci d'entrer un employeur :</h3><br />
<form method="post" action="traitement.php">
<label for="nom">Entrez Le nom de l'employeur : </label>
<input type="text" name="nom" id="nom"class="form-control" required placeholder="Entrez votre employeur"onclick="fermerliste()" ><br><br>
<label for="adresse">Adresse de l'employeur: </label>
<input type="text" name="adresse" id="adresse" class="form-control" required placeholder="Entrez votre adresse" onclick="fermerliste()" ><br><br>
<label for="complementAdresse">Complément d'adresse ( si nécéssaire) : </label>
<input type="text" name="complementAdresse" id="complementAdresse" class="form-control" onclick="fermerliste()" ><br><br>
<label>Ville</label>
<input type="text" name="ville" id="ville" class="form-control" placeholder="Entrez votre ville" autocomplete="off" required />
<div id="listeVille"></div> <br><br>
<label for="codePostal">Code postal : </label>
<input maxlength="10" type="number" name="codePostal" id="codePostal" required placeholder="Entrez votre code postal" onclick="fermerliste()" class="form-control" ><br><br>
<label for="codePostal">Pays : </label>
<input maxlength="10" type="text" name="pays" id="pays" required placeholder="Entrez votre Pays" onclick="fermerliste()" class="form-control" ><br><br>
<label for="telephone">Téléphone : </label>
<input type="number" maxlength="10" name="telephone" id="telephone" onclick="fermerliste()" required placeholder="Entrez votre telephone" class="form-control"><br><br>
<input type="submit" value="Envoyer" class="form-control" >
</form>
</body>
</html>
<script>
$(document).ready(function(){
$('#ville').keyup(function(){
var query = $(this).val();
if(query != '')
{
$.ajax({
url:"search.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#listeVille').fadeIn();
$('#listeVille').html(data);
}
});
}
});
$(document).on('click', 'li', function(){
var villeetCP = $(this).text().split(" ")
$('#ville').val(villeetCP[0]);
$('#codePostal').val(parseInt(villeetCP[1]));
$('#pays').val("France");
$('#listeVille').fadeOut();
});
});
function fermerliste()
{
$('#listeVille').fadeOut();
}
</script>
Le problème est que quand j'insère ce fichier via un "require" il ne fonctionne plus, je m'explique, j'ai une fonction qui fait un "require" du HEADER.php ( avec ma connexion en BDD, balise head, meta, etc..), puis vient le REQUIRE de ma page et pour finir le REQUIRE de mon footer, et lorsque je fait ça, mon formulaire s'affiche correctement mais ma fonction js ( en jquery) ne marche plus .
function afficherPage($chemin, $page, $titre)
{
require $chemin . 'Header.php';
require $chemin . $page;
require $chemin . 'Footer.php';
}
Voici mon Header.php
<!DOCTYPE html>
<html>
<head>
<?php
function chargerClasse($classe)
{
if (file_exists(adresseRoot . "PHP/Controller/" . $classe . ".class.php")) {
require adresseRoot . "PHP/Controller/" . $classe . ".class.php";
}
if (file_exists(adresseRoot . "PHP/Model/" . $classe . ".class.php")) {
require adresseRoot . "PHP/Model/" . $classe . ".class.php";
}
}
spl_autoload_register("chargerClasse");
// initialise une connection
DbConnect::init();
session_start();
//Si le titre est indiqué, on l'affiche entre les balises <title>
echo (!empty($titre)) ? '<title>' . $titre . '</title>' : '<title> Acceuil </title>';
?>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<link rel="stylesheet" href="<?php echo Parametre::getAdresseRoot(); ?>CSS/style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<!DOCTYPE html>
<html>
<head>
</head>
et la mon formulaire qui est censé marcher
<body onclick="fermerliste()">
<br /><br />
<div class="container">
<h3 >Merci d'entrer un employeur :</h3><br />
<form method="post" action="traitement.php">
<label for="nom">Entrez Le nom de l'employeur : </label>
<input type="text" name="nom" id="nom"class="form-control" required placeholder="Entrez votre employeur"onclick="fermerliste()" ><br><br>
<label for="adresse">Adresse de l'employeur: </label>
<input type="text" name="adresse" id="adresse" class="form-control" required placeholder="Entrez votre adresse" onclick="fermerliste()" ><br><br>
<label for="complementAdresse">Complément d'adresse ( si nécéssaire) : </label>
<input type="text" name="complementAdresse" id="complementAdresse" class="form-control" onclick="fermerliste()" ><br><br>
<label>Ville</label>
<input type="text" name="ville" id="ville" class="form-control" placeholder="Entrez votre ville" autocomplete="off" required />
<div id="listeVille"></div> <br><br>
<label for="codePostal">Code postal : </label>
<input maxlength="10" type="number" name="codePostal" id="codePostal" required placeholder="Entrez votre code postal" onclick="fermerliste()" class="form-control" ><br><br>
<label for="codePostal">Pays : </label>
<input maxlength="10" type="text" name="pays" id="pays" required placeholder="Entrez votre Pays" onclick="fermerliste()" class="form-control" ><br><br>
<label for="telephone">Téléphone : </label>
<input type="number" maxlength="10" name="telephone" id="telephone" onclick="fermerliste()" required placeholder="Entrez votre telephone" class="form-control"><br><br>
<input type="submit" value="Envoyer" class="form-control" >
</form>
</body>
</html>
<script>
$(document).ready(function(){
$('#ville').keyup(function(){
var query = $(this).val();
if(query != '')
{
$.ajax({
url:"search.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#listeVille').fadeIn();
$('#listeVille').html(data);
}
});
}
});
$(document).on('click', 'li', function(){
var villeetCP = $(this).text().split(" ")
$('#ville').val(villeetCP[0]);
$('#codePostal').val(parseInt(villeetCP[1]));
$('#pays').val("France");
$('#listeVille').fadeOut();
});
});
function fermerliste()
{
$('#listeVille').fadeOut();
}
</script>
Par avance Merci beaucoup pour votre aide