IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Script d'autocomplétion jQuery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut Script d'autocomplétion jQuery
    Bonjour tout le monde, je souhaite faire un script d'autocomplétion jQuery.

    Ce script devra remplir la case dès sa prise de focus.

    J'ai donc téléchargé le jQuery avec l'option "autocomplete" sur le site officiel.

    Voici le code HTML que j'ai écris :

    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
    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
    <!DOCTYPE html>
    	<html>
    		<head>
    			<link type="text/css" rel="stylesheet" href="jquery/jquery.autocomplete.css" />
    			<script type="text/javascript" src="jquery/jquery-1.9.1.js"></script>	
    			<script type="text/javascript" src="jquery/jquery-ui-1.10.3.custom.min.js"></script>		
    		</head>
     
    		<body>
     
    		<form method="post" action="">
    			<p>Nom :</p> <input type="text"  id="auton" name="nom" size="12" /><br />
    				<!-- Script d'autocomplétion Jquery pour le nom -->
    				<script>
    					$(document).ready(function() {
    						$('#auton').autocomplete('autocompletionN.php', {delay: 1});
    					});	
    				</script>
     
    			<p>Pr&eacute;nom : </p> <input type="text" id="autop" name="prenom" size="12" /><br />
    				<!-- Script d'autocomplétion Jquery pour le prénom -->
    				<script>
    					$(document).ready(function() 
    						{
    							$("#autop").autocomplete(["Cedric","Valentin"], {
    								minLength: 0,
    								delay: 1,
    								extraParams: {
    									nom: function() {
    										return $("#auton").val(); 
    										}
    									}
    								}
    							).focus(function() {
    								$(this).autocomplete("search", "", {
    								minLength: 0,
    								delay: 1,
    								extraParams: {
    									nom: function() {
    										return $("#auton").val(); 
    										}
    									}
    								});
    								}
    							);
    						}
    					);	
    				</script>						
    		</body>
    	</html>
    Ainsi que le code de la page "autocompletionN.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
    25
    <?php
    	$PARAM_utilisateur='***';
    	$PARAM_mot_passe='***';
     
    	try {
    		$connexion = new PDO('mysql:host=localhost;dbname=db1', $PARAM_utilisateur, $PARAM_mot_passe);
    	}
    	catch(Exception $e){
    		echo 'Erreur lors de la connexion';
    		echo $e;
    	}
    			// si on reçoit une donnée
    			if(isset($_GET['q'])) {
    				$q = htmlentities($_GET['q']); // protection
     
    				// écriture de la requête
    				$requete = "SELECT nom FROM Utilisateur WHERE nom LIKE '". $q ."%' LIMIT 0, 10";
    				// exécution de la requête
    				$resultat = $connexion->query($requete) or die(print_r($connexion->errorInfo()));
    				// affichage des résultats
    				while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
    					echo $donnees['nom'] ."\n";
    				}
    			}
    ?>


    L'erreur rencontrée étant celle-ci :
    Erreur : Error: cannot call methods on autocomplete prior to initialization; attempted to call method 'autocompletionN.php'
    Fichier Source : http://***/test/jquery/jquery-1.9.1.js
    Ligne : 507
    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    $('#auton').autocomplete('autocompletionN.php', {delay: 1});.

    Voir le code de la démonstration.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        $( "#birds" ).autocomplete({
          source: "search.php",
          minLength: 2,
          select: function( event, ui ) {
            log( ui.item ?
              "Selected: " + ui.item.value + " aka " + ui.item.id :
              "Nothing selected, input was " + this.value );
          }
        });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut
    J'ai essayé de retravailler le code et je suis arrivé a ça :

    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
    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
    <!DOCTYPE html>
    	<html>
    		<head>
    			<link type="text/css" rel="stylesheet" href="jquery/jquery.autocomplete.css" />
    			<script type="text/javascript" src="jquery/jquery.js"></script>	
    			<script type="text/javascript" src="jquery/jquery.autocomplete.js"></script>		
    			<script type="text/javascript" src="jquery/jquery-1.9.1.js"></script>	
    			<script type="text/javascript" src="jquery/jquery-ui-1.10.3.custom.min.js"></script>	
    		</head>
     
    		<body>
     
    		<form method="post" action="">
    			<p>Nom :</p> <input type="text"  id="auton" name="nom" size="12" /><br />
    				<!-- Script d'autocomplétion Jquery pour le nom -->
    				<script>	
    				$(document).ready(function() 
    						{
    							$("#auton").autocomplete({
    								source: 'autocompletionN.php',
    								minLength: 1,
    								delay: 1,
    								extraParams: {
    									nom: function() {
    										return $("#autop").val(); 
    										}
    									}
    								}
    							).focus(function() {
    								$(this).autocomplete("search", "", {
    								minLength: 1,
    								delay: 1,
    								extraParams: {
    									nom: function() {
    										return $("#autop").val(); 
    										}
    									}
    								});
    								}
    							);
    						}
    					);	
    				</script>
     
    					<!-- $(document).ready(function() {
    						$('#auton').autocomplete(source: "search.php", {delay: 1});
    					});	-->
    			<p>Pr&eacute;nom : </p> <input type="text" id="autop" name="prenom" size="12" /><br />
    				<!-- Script d'autocomplétion Jquery pour le prénom -->
    				<script>					
    						$(document).ready(function() 
    						{
    							$("#autop").autocomplete({
    								source: 'autocompletionP.php',
    								minLength: 1,
    								delay: 1,
    								extraParams: {
    									nom: function() {
    										return $("#auton").val(); 
    										}
    									}
    								}
    							).focus(function() {
    								$(this).autocomplete("search", "", {
    								minLength: 1,
    								delay: 1,
    								extraParams: {
    									nom: function() {
    										return $("#auton").val(); 
    										}
    									}
    								});
    								}
    							);
    						}
    					);	
    				</script>
    		</body>
    	</html>
    Le problème est que j'ai toujours un "No search result" malgrès le fait que j'entre une valeur présente dans la base de données.

    Mes pages autocompletionN.php et autocompletionP.php n'étant pas le problème.

    Si quelqu'un à une idée je suis preneur.

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Votre Array JS, utilise l'une des mises en forme acceptables par l'UI Autocomplete ? Voir : http://api.jqueryui.com/autocomplete/#option-source

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Autocomplétion Jquery et php
    Par fazpedro dans le forum jQuery
    Réponses: 3
    Dernier message: 26/07/2011, 23h20
  2. Réponses: 0
    Dernier message: 27/02/2011, 22h06
  3. [AJAX] adaptation de script d'autocomplétion
    Par Melex dans le forum AJAX
    Réponses: 6
    Dernier message: 03/05/2010, 17h25
  4. utilisation des scripts d'autocomplétion
    Par gendalf37400 dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 14/06/2007, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo