J'ai apporté quelques modification pour coller avec ma page
Index1.php
Code : Tout sélectionner
<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 pseudo est trop court</span>');
else if(nomp.length>30)
writediv('<span style="color:#cc0000"><b>'+nomp+' :</b> ce pseudo 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">
Produit testé = <input type="text" id="destinataire" name="destinataire1" onkeyup="verifPseudo(this.value)" /><div id="nompbox"></div>
<input type="submit" name="submit" value="Envoyer la valeur" />
</form>
</html> Code : Tout sélectionner
<!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 test 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 aucun membre pseudo</li>';
echo '</ul>';
mysql_close();
?>
</body>
</html>
J'ai une petit question pour le faire un tout petit peu évoluer.
Je voudrais mettre plusieurs (100 par exemple) champs avec cette saisie automatique.
j'ai donc modifier ma page ajax.php comme ceci:
Code : Tout sélectionner
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
</head>
<body>
<?php
for($i=0; $i < 100 ; $i++)
{
$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'."$i"]."%'";
$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 aucun membre pseudo</li>';
echo '</ul>';
mysql_close();
}
?>
</body>
</html>Produit testé = <input type="text" id="destinataire0" name="destinataire0" onkeyup="verifPseudo(this.value)" /><div id="nompbox0"></div>
Produit testé = <input type="text" id="destinataire1" name="destinataire1" onkeyup="verifPseudo(this.value)" /><div id="nompbox1"></div>
Produit testé = <input type="text" id="destinataire2" name="destinataire2" onkeyup="verifPseudo(this.value)" /><div id="nompbox2"></div>
....
Mais pour le code Javascripte je ne sais pas si je dois utiliser la même méthode que pour le html ou s'il existe une méthode plus rapide.
Merci de votre aide.