Bonjour, je m’en remet à vous, parce que mon onchange ne fonctionne pas et que je n’en vois vraiment pas la raison…
Voilà le select :
<select name="heure" onchange="commande('Indienne');" style="width:180px;">
<option value="">Selectionnez l'heure</option>
<option value="11;11,30" >entre 11h et 11h30</option>
<option value="11,30;12" >entre 11h30 et 12h</option>
<option value="12;12,30" >entre 12h et 12h30</option>
<option value="12,30;13" >entre 12h30 et 13h</option>
<option value="13;13,30" selected=selected>entre 13h et 13h30</option>
<option value="13,30;14" >entre 13h30 et 14h</option>
<option value="19;19,30" >entre 19h et 19h30</option>
<option value="19,30;20" >entre 19h30 et 20h</option>
<option value="20;20,30" >entre 20h et 20h30</option>
<option value="20,30;21" >entre 20h30 et 21h</option>
<option value="21;21,30" >entre 21h et 21h30</option>
<option value="21,30;22" >entre 21h30 et 22h</option>
</select>
Donc voilà, il appelle une fonction commande (laquelle appelle entre autre une fonction setcookie, je vous donne les deux au cas ou…
function commande(type) {
t1 = document.commande.elements["heure"][document.commande.elements["heure"].selectedIndex].value;
if (t1!=null && t1!="") {
setcookie('heure', t1);
setcookie('type', type);
document.commande.submit();
}
else {
alert("Vous devez entrer toutes les informations de livraison.");
}
}
function setcookie(name, value) {
document.cookie = name +"=" + value + ";" ;
}
Donc le problème : lorsque je change de valeur le select, rien ne se passe, ni l’alert me signifiant que je dois entrer toutes les informations de livraison, ni le submit… Si d’ailleurs j’ajoute un alert(‘bouh’); dans la fonction commande il n’est pas executé, comme si la fonction elle même n’était pas exécutée… pourtant, le “onchange” fonctionne si je remplace “commande” par “alert” en m’affichant l’alert contenant “Indienne”, et la fonction commande() fonctionne aussi puisqu’un peu plus loin dans ma page j’ai un :
<a href="javascript:commande('Indienne');">
qui fonctionne parfaitement… Je tiens à noter qu’en remplaçant :
onchange="commande('Indienne');"
par :
onchange="javascript:commande('Indienne');"
ça ne change strictement rien… Firefox ne semble donner aucun effet, quant à IE8 il affiche ce message là :
Détails de lerreur de la page Web
Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Horodateur : Tue, 9 Jun 2009 18:32:24 UTC
Message : Cet objet ne gère pas cette propriété ou cette méthode
Ligne : 41
Caractère : 1
Code : 0
Vraiment… ça devient trop curieux pour moi… j’y comprends rien… J’espère que vous oui… Merci