Autocomplétion et champs caché

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 : Autocomplétion et champs caché

Re: Autocomplétion et champs caché

par Tybot » 26 août 2010, 09:18

J'ai trouvé :

XML

Code : Tout sélectionner

<fiches> <fiche> <num_fiche>11></num_fiche> <nom_commercial>Tee</nom_commercial> </fiche> <fiche> <num_fiche>5></num_fiche> <nom_commercial>Test</nom_commercial> </fiche> <fiche> <num_fiche>12></num_fiche> <nom_commercial>Test 1</nom_commercial> </fiche> <fiche> <num_fiche>13></num_fiche> <nom_commercial>Test 2</nom_commercial> </fiche> </fiches>
HTML :
<script src="fct/jquery-1.4.2.min.js"></script>
<script src="fct/jquery-ui-1.8.2.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/redmond/jquery-ui-1.8.2.custom.css"/>
</head>

<body>
<script type="text/javascript">
	$(function() {
		function log(message) {
			$("<div/>").text(message).prependTo("#log");
			$("#log").attr("scrollTop", 0);
		}
		
		$.ajax({
			url: "xml/autocomp_fiche.php",
			dataType: "xml",
			success: function(xmlResponse) {
				var data = $("fiche", xmlResponse).map(function() {
					return {
						value: $("nom_commercial", this).text(),
						id: $("num_fiche", this).text()
					};
				}).get();
				$("#recherche_fiche").autocomplete({
					source: data,
					minLength: 0,
					select: function(event, ui) {
						document.getElementById("num_fiche").value = ui.item.id;
					}
				});
			}
		})
		
	});
</script>

<form name="recherche_fiche">
            	<input id="recherche_fiche" />
            	<input type="hidden" id="num_fiche" name="num_fiche" />
              <input type="hidden" name="page" value="Fiche"/>
</form>
Source : http://jqueryui.com/demos/autocomplete/#xml

Re: Autocomplétion et champs caché

par Tybot » 26 août 2010, 07:57

Merci pour la réponse, mais c'est après le XML que je butte. J'ai un XML de la forme donnée ci-dessus mais je ne sais pas comment récupérer les id et nom en même temps.

Re: Autocomplétion et champs caché

par AoSiX » 25 août 2010, 17:05

Tu fais l'appel en ajax ? Si oui, tu retournes un XML ou un JSON contenant les deux, puis tu fais avec..

Code : Tout sélectionner

<produits> <produit> <id>1</id> <nom_commercial>test</nom_commercial> </produit> <produit> <id>2</id> <nom_commercial>test2</nom_commercial> </produit> <produit> <id>3</id> <nom_commercial>test3</nom_commercial> </produit> </produits>
OU

Code : Tout sélectionner

{ produits:{ produit:[ { id:1, nom_commercial:'test' }, { id:2, nom_commercial:'test2' }, { id:3, nom_commercial:'test3' } ] } }

Autocomplétion et champs caché

par Tybot » 25 août 2010, 16:41

Bonjour,

J'ai besoin pour une application intranet, en PHP avec une base MySQL, de faire une recherche dans des fiches de produits.

Dans la table fiche, la clef primaire est num_fiche (int), et le champs de recherche est sur le champs nom_commercial (varchar).

J'ai donc besoin de mettre le numéro de fiche dans un champs caché :
<input type="hidden" name="num_fiche" id="num_fiche" />
Mon formulaire est comme suit :
<form action="index.php" method="get" name="recherche_fiche" id="recherche_fiche">
<input type="text" name="nom_commercial" id="nom_commercial" autocomplete="off" />
<input type="hidden" name="num_fiche" id="num_fiche" />
<input type="hidden" name="page" value="Fiche" />
</form>
Quelqu'un aurai-t'il un code pour cela ?

Merci d'avance.