11550 sujets

JavaScript, DOM et API Web HTML5

Bonsoir, Combawa,

Je me renseignais sur un bug d’IE8 concernant la méthode SELECT.add. J’ai le renvoie d’une erreur lorsque j’ajoute à une liste, une option auparavant présente dans cette liste mais qui a en a été retirée. En fait, je réordonne les éléments dans cette liste.

La première chose qui me surprend, c’est que ça fonctionnait avant, mais que depuis que j’ai modifié je ne sais quoi, ça ne marche plus. Mais à ça, j’ai peu de chances de trouver réponse je crois.

J’avais remarqué que le message d’erreur disparait si au lieu d’ajouter la même option, j’en recrée une de toute pièce, mais pas avec cloneNode, il faut vraiment en récréer une «à la mimine».

Concrètement, je viens de trouver ça, qui confirme l’observation, et qui dit des choses intéressantes en plus :

a écrit :
Next, you can't add an option to a select when that option has already been in a select in IE-up-to-7 (even after cloning!) due to another bug (you get “Invalid argument”). IE's handling of <option> elements is off in a lot of ways, the source of which is that IE's select boxes are native Windows widgets, not objects implemented by the browser. Consequently IE's HTMLOptionElement interface is only a façade, that often slips.

Source : SELECT.add: “Invalid argument” error with Internet Explorer

Mais il est dit que l’erreur existe jusque IE7, ors je la constate avec IE8 aussi.

Avez-vous eu vent du statu de ce bug ? Est-il censé être corrigé ou pas avec IE 8 ?

Je suis certain que ça fonctionnait avant, sans correction pour IE, mais ça ne marche plus pour je ne sais quelles raisons, et ça me gratte furieusement. Des idées sur les conditions subtiles pouvant faire que le bug ne s’exprime pas ?

Marchi, Shoukran, Smiley smile


P.S. Ça marche, je connais la manière de contourner le bug, c’est que s’il était possible de faire sans contournement de bug, je préférerais. Oilà.
Modifié par hibou57 (11 Jan 2011 - 20:28)