Probleme onchange() dans liste liee qui marche bien php/js/ajax

drsnake45 Messages postés 4 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 6 mai 2011 - 29 avril 2011 à 10:06
 Utilisateur anonyme - 29 avril 2011 à 16:50
Bonjour,
en faite mon probleme est je pense simple a resoudre mais je n' y arrive pas.
Voila j'ai fait une liste liee jusque la tout va biens mas quand dans la deuxieme liste je met un onchange="alert('toto')" par exemple cela ne m'affiche pas toto.
je vous met le code php qui pose probleme merci d'avance de vos solutions :))


<td>direction:</td> <!-- creation de la liste deroulante pour les directions-->

<td><select name='direction' id='direction' onchange='go()'>
<option value='-1'>---Choisir une Direction---</option>
<?
foreach($_SESSION['tab_donnee_dir_fn'] as $cle => $val)
{
echo"<option>".$cle."</option>";
}
?>
<td>

</tr>
<tr>

<td>Fonction:</td>

<td>


<select name="fonction" onchange="alert('toto')">
<option value='-1'>---Choisir une fonction---</option>
</select>


</td>

2 réponses

drsnake45 Messages postés 4 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 6 mai 2011
29 avril 2011 à 10:08
A j'oublier la fonction go() c'est une fonction ajax je la met ici aussi mais je sait pas si sa peu vous servir.


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;
}

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('servic').innerHTML = leselect;
}
}

// Ici on va voir comment faire du post
xhr.open("POST","service2.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ici, on envoie les agruments
sel = document.getElementById('direction');
id_direction = sel.options[sel.selectedIndex].value;
xhr.send("id_direction="+id_direction);

}

/**
* 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('fonctio').innerHTML = leselect;
}
}

// Ici on va voir comment faire du post
xhr.open("POST","fonction3.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ici, on envoie les agruments
sel = document.getElementById('direction');
id_direction = sel.options[sel.selectedIndex].value;
xhr.send("id_direction="+id_direction);
go1();
}
0
Utilisateur anonyme
29 avril 2011 à 16:50
Comme ça je dirais qu'à ta ligne

onchange="alert('toto')"


il manque le ; après ta parenthèse fermante. Après je ne sais pas si c'est obligatoire.


-- Pylouq : jongleur de clavier AZERTY et de clavier QWERTZ --
0
Rejoignez-nous