jax liste deroulante qui alimente plusieurs champs texte

Répondre
Heizenberg
le 06/07/2014 à 23:41
Heizenberg
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 :
<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
Heizenberg
le 07/07/2014 à 01:43
Heizenberg
j'ai fais quelques modifications mais sans résultats
<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){
var req = $.ajax({
url : 'ajax.php',
data : "id_page="+id_page,
type : 'post',
success : function(data){
// ICI LE CODE POUR REMPLIR TES INPUT
$('#input_desc').val(req.responseText);
$('#input_title').val(req.responseText);
$('#input_nom_page').val(req.responseText);

},

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>
<label>title</label>
<div id='div_title' style='display:inline'>
<input type="text" name="title" id="input_title" value="">
</div>
<label>sujet</label>
<div id='div_subj' style='display:inline'>
<input type="text" name="subj" id="input_subj" value="">
</div>
</fieldset>
</form>
</body>
</html>

ajax.php
<?php
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 $row["title"];
echo $row["subj"];

}
}
?>
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours