Bonjour a tous,
J'ai récupéré un code d'un formulaire que j'ai un peu modifier et qui fonctionne parfaitement. Mais je voudrais l'améliorer.
Dans le code que j'ai récupéré, il n'y a qu'un champs pour la saisie semi automatique. Or je voudrais mettre plusieurs champs (l'accès à la base de donnée reste le même). Mais je ne vois pas comment modifier le code (mes connaissance étant assez nul en javascripte).
Je vais essayer d'être un peu plus explicite.
J'ai une base de donnée contenant : "pomme" , "ananas" , "prune"
J'aimerai que dans le 1er champs (INPUT), si je tape "pom" il me propose "pomme" (ce que le code fait déja très bien).
J'aimerai ajouter un 2 ieme (à vrai dire je voudrais mettre 100 INPUT) champs qui, lorsque je tape "ana" me propose "ananas".
Voici le code avec le formulaire index1.php
et voici l'accès à la base de donnée ajax.php
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 <html><head></head> <body> <script type="text/javascript"> function xxx(newtext) { document.getElementById('destinataire').value = newtext; } function writediv(texte) { document.getElementById('nompbox').innerHTML = texte; } function verifPseudo(nomp) { if(nomp != '') { if(nomp.length<3) writediv('<span style="color:#cc0000"><b>'+nomp+' :</b> ce fruit est trop court</span>'); else if(nomp.length>30) writediv('<span style="color:#cc0000"><b>'+nomp+' :</b> ce fruit est trop long</span>'); else writediv(file('ajax.php?destinataire='+escape(nomp))) } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); } </script> <form method="get" action="bd.php"> Fruit = <input type="text" id="destinataire" name="destinataire" onkeyup="verifPseudo(this.value)" /><div id="nompbox"></div> <input type="submit" name="submit" value="Envoyer la valeur" /> </form> </html>
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 <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html> <head> </head> <body> <?php $connect = mysql_connect('localhost','root','') or die ("erreur de connexion"); mysql_select_db('bdtest',$connect) or die ("erreur de connexion base"); $sql = "SELECT nomp FROM tout WHERE nomp LIKE '%".$_GET['destinataire']."%'"; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $i = 0; $nomp = ""; echo '<ul>'; while ($row = mysql_fetch_array($result)) { $i++; if($nomp == $row['nomp']){ } else { echo '<li><a href="#" onclick="xxx(\''.$row['nomp'].'\')">'.$row['nomp'].'</a></li>'; $nomp = $row['nomp']; } } if($i==0) echo '<li>Il n\'y a pas ce fruit</li>'; echo '</ul>'; mysql_close(); ?> </body> </html>
Partager