Halaster Posté 4 Juin 2008 Posté 4 Juin 2008 (modifié) salut a tous, bon voila mon problème. j'ai une page avec un formulaire, j'ai une liste déroulante, et j'aimerai lorsque je clique sur cette liste, pouvoir pré-remplir mon formulaire. donc j'ai 3 pages. une avec mon formulaire -> modif_docu.php CODE <select name="document_client"> <option value="" >Choisissez le document voulu</option>'; <? $date_jour=date("Y-m-d"); $sql_docu='SELECT * FROM DOCUMENT WHERE ID_CLIENT="'.$id_client.'" AND DATE_ECHEANCE <= "'.$date_jour.'"'; $query_docu=mysql_query($sql_docu); while($info_docu=mysql_fetch_array($query_docu)){ $ID_DOCUMENT=$info_docu[0]; $DATE_DOCUMENT=$info_docu[9]; // A changer si on modifie la facture $ID_TYPES=$info_docu[12]; $sql_type='SELECT * FROM TYPE WHERE ID_TYPE="'.$ID_TYPES.'"'; $rs_doc_type=mysql_query($sql_type); $affich_doc_type=mysql_fetch_array($rs_doc_type); ?> <option value="<?php echo $ID_DOCUMENT ?>" onClick="ajax_docu('<? echo $ID_DOCUMENT; ?>')"><?php echo $affich_doc_type[1]." <|> ".$DATE_DOCUMENT ?></option> <?php } ?> </select> <div id="id_"> </div> et après la suite de mon formulaire avec par exemple cette liste déroulante CODE <td> <? //selection type document désiré echo '<select name="id_type">'; if($check_ID_TYPE!='') { $sql_type2= 'SELECT * FROM TYPE WHERE ID_TYPE="'.$check_ID_TYPE.'"'; $rs_type2= mysql_query($sql_type2); $type2= mysql_fetch_array($rs_type2); ?> <option value="<?php echo $type2[0]; ?>"><?php echo $type2[1]; ?></option> <?php } else { echo '<option value="">Choisissez le type de document</option>'; } $sql_type= "SELECT * FROM TYPE ORDER BY NOM_TYPE ASC"; $rs_type= mysql_query($sql_type); if (mysql_num_rows($rs_type)>0) { while ($type= mysql_fetch_array($rs_type)){ if(@$bouton!="modifier" & $_POST['id_type']==$type['ID_TYPE']){ $select="selected"; }else{ $select=""; } echo "<option ".$select." value='".$type['ID_TYPE']."'>".$type['NOM_TYPE']."</option>"; } } echo "</select>"; ?> </td> j'ai ma page ajax_docu.php CODE <?phpinclude "../config/connexion.php"; $check=$_POST['num_doc']; $sql_check= 'SELECT * FROM DOCUMENT WHERE ID_DOCUMENT="'.$check.'"'; $rs_check= mysql_query($sql_check); $check1= mysql_fetch_array($rs_check); $check_NUM_DOCUMENT=$check1[1]; $check_ID_CLIENT=$check1[2]; $check_PRODUIT_DOCUMENT=$check1[3]; $check_NB_PRODUIT_DOCUMENT=$check1[4]; $check_PU_PRODUIT_DOCUMENT=$check1[5]; $check_ACCOMPTE_DOCUMENT=$check1[6]; $check_REMISE_DOCUMENT=$check1[7]; $check_PORT_DOCUMENT=$check1[8]; $check_PAYE_DOCUMENT=$check1[10]; $check_ID_REMARQUE=$check1[11]; $check_ID_TYPE=$check1[12]; echo $check_ID_TYPE; $check_ID_REGLEMENT=$check1[13]; $check_DATE_ECHEANCE=$check1[14]; $check_ID_REFERENCE=$check1[15]; $check_SERVICE_DOCUMENT=$check1[16]; $check_PU_SERVICE_DOCUMENT=$check1[17]; $check_NB_SERVICE_DOCUMENT=$check1[18]; $check_COMMENTAIRE_FACTURE=$check1[20]; ?> et ma page ajax.js avec ma fonction CODE var xhr = null; function get_Xhr() { if(window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if(window.ActiveXOject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch(el) { xhr = null; } } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest\nVeuillez le mettre à jour"); } return xhr; } function ajax_docu(fam5) { // Creation de l'objet XMLHttpRequest get_Xhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { document.getElementById('id_').innerHTML = xhr.responseText; } } xhr.open("POST",'ajax_docu.php',true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("num_doc="+fam5); } donc voila, je récupère bien l'ID_DOCUMENT dans la page. mais je n'arrive pas a utiliser les infos en dehors de ma balise <div id="id_"></div> et si je met tout le reste de mon formulaire entre ces balises div, il y a des bug ( par exemple, des parties du formulaire disparaissent ) avez vous une idée ? Modifié 4 Juin 2008 par Portekoi
Halaster Posté 4 Juin 2008 Auteur Posté 4 Juin 2008 (modifié) Sinon autre solution, comment faire, en utilisant uniquement une fonction javascript du type: CODE <script type="text/javascript">function fct_test(champ) { if (champ != '') { document.getElementById('id_').innerHTML=champ; } else { document.getElementById('id_').innerHTML=''; } } </script> pour mettre la valeur de champ dans une variable php au lieu de l'afficher dans ma balise div. ca me faciliterai la tache, et réduirai le nombre de pages. Modifié 4 Juin 2008 par Portekoi
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant