Bonjour à tous,
J'ai trouvé ce code que j'utilise et qui fonctionne super bien.
Au fil du développement j'ai besoin de récupérer une valeur.
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 94 95 96 97 98 99 100 101
| function update_client(val){
var xhr = getXhr(); // INSTENTIEE IN js/getXhr.js
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('error-display').innerHTML = leselect;
deroulant_open();
}else{
}
}
// Ici on va voir comment faire du post
if(val=="update"){
xhr.open("POST","../xmlhttprequest/client_update.sql.php",true);
}
if(val=="add"){
xhr.open("POST","../xmlhttprequest/client_add.sql.php",true);
}
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
id_client = document.getElementById('id_client').value;
civility_ = document.getElementById('id_civility');
civility = civility_.options[civility_.selectedIndex].value;
name = document.getElementById('id_name').value;
firstname = document.getElementById('id_firstname').value;
street = document.getElementById('id_street').value;
numero = document.getElementById('id_numero').value;
bp = document.getElementById('id_bp').value;
cp = document.getElementById('id_cp').value;
city = document.getElementById('id_city').value;
state = document.getElementById('id_state').value;
country_ = document.getElementById('id_country');
country = country_.options[country_.selectedIndex].value;
phone = document.getElementById('id_phone').value;
fax = document.getElementById('id_fax').value;
mobile = document.getElementById('id_mobile').value;
email = document.getElementById('id_email').value;
url = document.getElementById('id_url').value;
id_id_ = document.getElementById('id_identity_type');
identity_type = id_id_.options[id_id_.selectedIndex].value;
identity_type_no = document.getElementById('id_identity_type_no').value;
if(document.getElementById('id_client_direct').checked)
{
client_direct = 1;
}else
{
client_direct = 0;
}
if(document.getElementById('id_client_to').checked)
{
client_to = 1;
}else
{
client_to = 0;
}
comment = document.getElementById('id_comment').value;
xhr.send("id_client="+id_client+"&"+
"civility="+civility+"&"+
"name="+name+"&"+
"firstname="+firstname+"&"+
"street="+street+"&"+
"numero="+numero+"&"+
"bp="+bp+"&"+
"cp="+cp+"&"+
"city="+city+"&"+
"state="+state+"&"+
"country="+country+"&"+
"phone="+phone+"&"+
"fax="+fax+"&"+
"mobile="+mobile+"&"+
"email="+email+"&"+
"url="+url+"&"+
"identity_type="+identity_type+"&"+
"identity_type_no="+identity_type_no+"&"+
"client_direct="+client_direct+"&"+
"client_to="+client_to+"&"+
"comment="+comment);
} |
Mon problème ce situe dans la page
1 2
|
xhr.open("POST","../xmlhttprequest/client_add.sql.php",true); |
Quand le client est créé dans ma base de donnée MySQL , j'ai ce code qui récupère l'id de la dernière ligne crée.
1 2
|
$id_objet = mysql_insert_id(); |
J'ai besoin de récupérer cette valeur de $id_objet pour que ce champs caché prenne sa valeur (value="")
1 2
|
<input type="hidden" id="id_client" name="client_id" value="0" /> |
Ben mon rpoblème ce que je n'y arrive pas.
Dans mon fichier
../xmlhttprequest/client_add.sql.php
J'ai ajouté ceci
1 2 3 4 5 6 7 8 9 10 11 12 13
|
[code PHP précédent]
?>
<script language="javascript">
alert('je');
//document.getElementById('ud_client').value = <?php echo $id_objet; ?>;
$(document).ready(function(){
$("#id_client").val(<?php echo $id_objet; ?>);
$("span#client_id").html(<?php echo $id_objet; ?>);
}
</script>
<?php
[suite du code PHP] |
Mais ni le alert, ni le getElementByID fonctionne.
Alors je pensais interragir ici
1 2 3 4 5 6 7
|
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('error-display').innerHTML = leselect;
deroulant_open();
} |
du genre
document.getElementById('id_client').value = quelque chose;
Mais là, je dois dire que je suis un peu perdu et je ne vois pas comment continuer correctement.
Aurriez-vous une idée, une solution?
Voilà, j'espère avoir été précis dans mes explications.
Milles mercis pour vos lumières
Partager