le 06/07/2014 à 23:41
jax liste deroulante qui alimente plusieurs champs texte
Bonjour, J'ai un soucis avec les listes deroulantes, je sais que c'est un peu bete mais je ne m'y connais pas du tout en ajax, j'ai fais quelques recherches et je suis arrivé à afficher les données sur un seul champs texte alors que je veux le faire sur 5. Voici mon code : Pour la page html :
et ici le code du fichier ajax.php
mais quand je fais mon choix sur la liste deroulante je ne reçoit rien sur le champs texte
ça c'était juste pour tester avec un seul champs mais moi ce que je veux reellement c est 3 champs texte ou plus pour afficher le contenu de la table pages correspondant au choix definit par la liste deroulante.
On m a conseillé d'utiliser json et ajax mais je suis nul dans l'un comme dans l autre :(
J espere que j etais clair et merci d avance
<html>
<head>
<title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type='text/javascript'>
function go(id_page){
$.ajax({
url : 'ajax.php',
data : "id_page="+id_page,
type : 'post',
dataType : 'json',
success : function(data){
// ICI LE CODE POUR REMPLIR TES INPUT
$('#input_desc').val(data.desc);
},
error : function(resultat){
alert(resultat);
}
});
}
</script>
</head>
<body>
<form>
<fieldset style="width: 500px">
<legend>Liste liées</legend>
<label>Pages</label>
<select name='page' id='page' onchange='go()'>
<option value='-1'>Aucun</option>
<?
include "dataconn.php";
$rep2 = mysql_query("SELECT * FROM pages ORDER BY nom_page ASC");
while($row = mysql_fetch_assoc($rep2)){
echo "<option value='".$row["id_page"]."'>".$row["nom_page"]."</option>";
}
?>
</select>
<label>desc</label>
<div id='div_desc' style='display:inline'>
<input type="text" name="desc" id="input_desc" value="">
</div>
</fieldset>
</form>
</body>
</html>
et ici le code du fichier ajax.php
<?php
echo "<input type=\"text\" name=\"desc\" id=\"input_desc\" value='";
include "dataconn.php";
if(isset($_POST["id_page"])){
$sql="SELECT * FROM pages WHERE id_page='".$_POST['id_page']."'";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)){
echo $row["desc"];
}
}
echo "'>";
?>
mais quand je fais mon choix sur la liste deroulante je ne reçoit rien sur le champs texte
ça c'était juste pour tester avec un seul champs mais moi ce que je veux reellement c est 3 champs texte ou plus pour afficher le contenu de la table pages correspondant au choix definit par la liste deroulante.
<div id='div_desc' style='display:inline'>
<input type="text" name="desc" id="input_desc" value="">
</div>
<div id='div_champs1' style='display:inline'>
<input type="text" name="champs1" id="input_champs1" value="">
</div>
<div id='div_champs2' style='display:inline'>
<input type="text" name="champs2" id="input_champs2" value="">
</div>
On m a conseillé d'utiliser json et ajax mais je suis nul dans l'un comme dans l autre :(
J espere que j etais clair et merci d avance