Erreur IE avec .options.length = 0; ou .setProperty ('sélectionné', 'sélectionné')?
-
06-07-2019 - |
Question
Internet Explorer 8 et 7 échoue avec une erreur lorsque je mets à jour la zone de sélection avec une nouvelle option et que je choisis l’option sélectionnée. Dans d'autres navigateurs, cela fonctionne bien et sans erreur. J'utilise Mootools 1.2.3.
<?php
$getdestiny= Internet Explorer 8 et 7 échoue avec une erreur lorsque je mets à jour la zone de sélection avec une nouvelle option et que je choisis l’option sélectionnée. Dans d'autres navigateurs, cela fonctionne bien et sans erreur. J'utilise Mootools 1.2.3.
<*>
Est-ce possible que ce soit parce que j'utilise une double affectation pour vars opt * ou quoi d'autre? Prévenez-moi s'il vous plaît.
GET['dest'];
$getcountry= Internet Explorer 8 et 7 échoue avec une erreur lorsque je mets à jour la zone de sélection avec une nouvelle option et que je choisis l’option sélectionnée. Dans d'autres navigateurs, cela fonctionne bien et sans erreur. J'utilise Mootools 1.2.3.
<*>
Est-ce possible que ce soit parce que j'utilise une double affectation pour vars opt * ou quoi d'autre? Prévenez-moi s'il vous plaît.
GET['countr'];
print "<script type='text/javascript'>
window.addEvent('domready', function() {
var countrh=$getcountry;
var desth=$getdestiny;
if (countrh==4){
$('destination').options.length=0; //error fails here
var opt0 = $('destination').options[0] = new Option('Сhoose Destination',0);
var opt1 = $('destination').options[1] = new Option('London-Aberdeen','1');
var len = $('destination').options.length;
if (desth < len){
opt$getdestiny.setProperty('selected','selected'); //or here
else {
//do nothing
}
});
</script>"
Est-ce possible que ce soit parce que j'utilise une double affectation pour vars opt * ou quoi d'autre? Prévenez-moi s'il vous plaît.
La solution
Il semble que vous ayez juste une erreur de syntaxe ici, où vous obtenez votre deuxième erreur à.
if (desth < len){
opt$getdestiny.setProperty('selected','selected'); //or here
else {
//do nothing
}
il manque une fermeture} pour la première partie de l'instruction if. Devrait être comme ça:
if (desth < len){
opt$getdestiny.setProperty('selected','selected'); //or here
}else {
//do nothing
}
ADDENDUM:
Ok, votre problème est que vous essayez d'utiliser une fonction MooTools sur un élément qui n'est pas encapsulé dans MooTools. Vous pouvez résoudre ce problème en l’enveloppant dans une fonction $ () comme ceci:
$(opt$getdestiny).set('selected','selected');
En général, je viens également de définir selected = true pour que vous puissiez également l'essayer. Assurez-vous d'utiliser true, pas la chaîne 'true'.
Autres conseils
Dans le passé, nous avons utilisé avec succès la syntaxe suivante pour marquer un élément d'option de sélection comme étant "sélectionné":
option.selected = true;
dans mootools 1.2, setProperty () est devenu obsolète. le prototype est maintenant juste element.set (prop, valeur); - un setter et un getter (element.get ()) pour rien:)