[AJAX] Onclick sur un <li>
Bonjour,
Voici mon contexte :
Je fais une autocomplétion (qui marche niquel) puis lorsque je clique sur l'élément désiré dans ma liste déroulante, le contenu se met dans le input adéquate. Jusque là tout va bien. Sauf que je désire maintenant mettre un autre élement de ma base (en relation avec l'élément choisi) dans un autre input. Je me suis dis ceci :
Code:
onclick="document.getElementById('autre_input').value = <? echo $autre_element_de_ma_base ; ?>";
Voici mon code pour mieux comprendre où je l'ai placé :
Code:
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
<?php
session_start();
if(isset($_POST['chef'])){
header('Content-type: text/html; charset=iso-8859-1');
// on inclut la connexion
mysql_connect('serveur', 'utilisateur', 'mdp');
mysql_select_db('base');
// on fait la requête
$sql = "SELECT `nom`, `prenom`, `id`, `id_client`
FROM `medicament`
WHERE `nom` LIKE '".$_POST['chef']."%' AND `id_client`='".$_SESSION['id']."'";
$req = mysql_query($sql);
$i = 0;
echo '<ul class="contacts">';
// on boucle sur tous les éléments
while($autoCompletion = mysql_fetch_assoc($req)){
echo '
<li class="contact" ><div class="nom" onclick="remplir('.$autoCompletion['prenom'].');">'.$autoCompletion['nom'].'</div>
<div class="prenom">
<span class="informal">'.$autoCompletion['prenom'].'</span>
</div>
</li>';
// on s'arrête sil y en a trop
if (++$i >= 10)
die('<li>...</li></ul>');
}
echo '</ul>';
die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="lib/prototype.js"></script>
<script type="text/javascript" src="lib/scriptaculous.js"></script>
<script type="text/javascript" src="lib/autocompletion.js"></script>
<style type="text/css">
<body>
<!--Liste des personnes présentes dans la base :<br/>-->
<?php
mysql_connect('serveur', 'utlisateur', 'mdp');
mysql_select_db('base');
// on fait la requête
$sql = "SELECT `nom`, `prenom`, `id`
FROM `medicament`
WHERE `nom` LIKE '".$_POST['chef']."%' AND `id_client`='".$_SESSION['id']."'";
$req = mysql_query($sql);
while($autoCompletion = mysql_fetch_assoc($req)){
//echo '<u>'.$autoCompletion['id'].'.</u> '.$autoCompletion['nom'].'<br/>';
}
?>
</style>
<form action="?" method="post" onsubmit="return false;">
<label for="chef"></label>
<input type="input" size="25" name="chef" id="chef" value="" />
<input type="text" name="chef2" id="chef2" value="" />
<div class="update" id="chef_update"></div>
<input type="hidden" name="chef_id" id="chef_id" value="" />
</form>
<br/>
<!--<span id="chef_log"></span>-->
<script type="text/javascript">
new Ajax.Autocompleter ('chef',
'chef_update',
'autocompletion.php',
{
method: 'post',
paramName: 'chef',
afterUpdateElement: ac_return
});
function remplir(a)
{
document.getElementById('chef2').value = a;
}
</script>
</body>
</html> |
En fait pour résumer, je fais un onclick sur <div class="nom"> puis je fais appel à la fonction remplir(a).
Le code erreur est le suivant : "ma_valeur is not defined". Deja il lit bien ma valeur mais il dit qu'elle n'est pas définie...
Comment y remédier svp ?