[RESOLU] Probleme script js dans fichier php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Probleme script js dans fichier php

Re: Probleme script js dans fichier php

par Billygbk » 27 août 2019, 13:57

Problème réglé merci à toi, sur mon lieu de stage la console sur firefox ne m'a rien affiché de concret mais chez moi via google chrome, la console m'a indiqué qu'elle ne trouvait pas le fichier search.php, en effet j''exécute tout d'abord mon fichier index.php, qui est à la racine de mon serveur alors que le fichier search se trouve dans mon dossier View, le lien vers ce fichier était donc mauvais.

bonne journée à tous

Re: Probleme script js dans fichier php

par or 1 » 21 août 2019, 18:22

la console du navigateur affiche-t-elle un message d'erreur ?

Probleme script js dans fichier php

par Billygbk » 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
<!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