Aller au contenu

Aide ajax


Halaster

Sujets conseillés

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
<?php

include "../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é par Portekoi
Lien vers le commentaire
Partager sur d’autres sites

Posté (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é par Portekoi
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...