[AJAX] Post dans un formulaire
Bonjour à tous,
J'ai un script qui me permet de sélectionner un élément d'une liste déroulante, et en fonction du choix de remplir des input de texte.
Cette partie fonctionne, hors lorsque je souhaite valider le formulaire et enregistrer les données des input text ils ne sont pas reconnus...
Voilà mon code :
Le script javascript :
Code:
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
| <script type='text/javascript'>
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go1(){
var xhr = getXhr();
// 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('heure').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajax_journee.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
sel = document.getElementById('journee');
id_journee = sel.options[sel.selectedIndex].value;
xhr.send("id_journee="+id_journee);
}
</script> |
Je l'ai pris sur l'exemple des listes liées, le problème vient peut être de là...
Ma page ajax_journee.php
Code:
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
| if(isset($_POST["id_journee"]))
{
$res = mysql_query(" SELECT debut_journee, fin_journee, heure_travaille
FROM journee
WHERE id_journee=".$_POST["id_journee"]);
$row = mysql_fetch_assoc($res);
if ($row['debut_journee'] != "00:00:00") { $deb_read = 'readonly="readonly"'; } else { $deb_read = ""; }
if ($row['fin_journee'] != "00:00:00") { $fin_read = 'readonly="readonly"'; } else { $fin_read = ""; }
if ($row['heure_travaille'] != "00:00:00") { $trav_read = 'readonly="readonly"'; } else { $trav_read = ""; }
echo '<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="160px">Heure de début :</td>
<td><input type="text" name="heure_debut" value='.substr($row['debut_journee'],0, 5).' size="4" class="formulaire" style="text-align: center;" /></td>
</tr>
<tr style="height: 5px;"></tr>
<tr>
<td align="left">Heure de fin :</td>
<td><input type="text" name="heure_fin" value='.substr($row['fin_journee'],0, 5).' size="4" class="formulaire" style="text-align: center;" /></td>
</tr>
<tr style="height: 5px;"></tr>
<tr>
<td align="left">Heure travaillé :</td>
<td><input type="text" name="heure_trav" value='.substr($row['heure_travaille'],0, 5).' size="4" class="formulaire" style="text-align: center;" /></td>
</tr>
</table>';
} |
Merci d'avance de votre aide