document.getElementById('livre').value retourne undefined!
Bonjour,
mon problème c'est que document.getElementById('livre').value retourne undefined et même resultat avec document.getElementById('livre').selectedIndex
et j'espére trouver de l'aide dans cette partie du Forum
mon code et le suivant :
Titres.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 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
| <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function afficherTexte () {
alert(document.getElementById('livre').selectedIndex); //MON PROBLEME//
}
</script>
<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 go(){
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('livre').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajaxTitre.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('auteur');
idauteur = sel.options[sel.selectedIndex].value;
xhr.send("idAuteur="+idauteur);
}
</script>
<body onLoad="go();">
//--------------------------//
<select name='auteur' id='auteur' onchange='go();' onClick='go();afficherTexte()'>
<?php
echo "<option value='0'>[0] - </option>";
$req1 = "select * from Titres";
$res1 = mysql_query($req1);
while($row = mysql_fetch_assoc($res1))
{
echo "<option value='".$row["IDTitre"]."'>$row["Libelle"]</option>";
}
?>
</select>
//----------------------------------------//
<select name='livre' id='livre' onChange="afficherTexte()">
<?php
$res = mysql_query("SELECT IDTitre,Libelle FROM Titress
WHERE Parent=0 ");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["IDTitre"]."'>$row["Libelle"]</option>";
}
?>
</select>
//---------------------------------// |
page ajaxTitre.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?php
$parent = $_POST["idAuteur"];
echo "<select name='livre' id='livre' onChange='afficherTexte()'>";
if(isset($_POST["idAuteur"])){
$res = mysql_query("SELECT IDTitre,Libelle FROM elements
WHERE Parent=".$_POST["idAuteur"]." ");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["IDTitre"]."'>$row["Libelle"]</option>";
}
}
echo "</select>";
?> |