Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1279 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [DOM] Remplacement d'un input par un autre [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DOM] Remplacement d'un input par un autre [Résolu]

n°1088930
KrisCool
“Verbeux„
Posté le 19-05-2005 à 11:36:36  profilanswer
 

Dans le cadre d'un script greasemonkey, je souhaite remplacer dynamiquement dans une page HTML des éléments input de type image par des élements input de type bouton.
 
Contexte:  Firefox 1.0.4
 
Première tentative :  
- remplacement du noeud par un nouveau, du bon type :
[code]// input est le noeud que je veux remplacer
input.parentNode.replaceChild(input, new HTMLInputElement());[/code
 
Ca se vautre lamentablement avec une exception assez obscure.
Erreur : uncaught exception: [Exception... "Object cannot be created in this context"  code: "9" nsresult: "0x80530009 (NS_ERROR_DOM_NOT_SUPPORTED_ERR)"  location: "<unknown>"]
 
Seconde tentative :
- remplacement des attributs type et value du node.
 
Ca merdouille et je me retrouve avec un bouton qui n'a pas un aspect de bouton.
 
Quelqu'un aurait une idée sur la façon dont c'est faisable staffaire  [:huit]  ? Ou sur le pourquoi des échecs de mes deux tentatives ?
J'ai rien trouvé dans les docs DOM suivantes :
http://www.mozilla.org/docs/dom/domref/ (archi incomplète, supair  [:huit])
http://xulplanet.com/references/ob [...] ement.html (indique que tous les éléments ne peuvent pas être instanciés directement, mais ne précise pas explicitement lesquels, re-supair  [:huit])
 
Merci par avance.


Message édité par KrisCool le 19-05-2005 à 12:25:35

---------------
Loose Change Lies | Bars | Last.fm
mood
Publicité
Posté le 19-05-2005 à 11:36:36  profilanswer
 

n°1088945
fred_p
Posté le 19-05-2005 à 11:42:02  profilanswer
 

C'est tres moche, mais passe par le outterHTML.
Tu reccuperes ton node et tu ecrases le outterHTML.
j'ai fait ca pour remplacer dynamiquement des elements d'un menu.

n°1088982
masklinn
í dag viðrar vel til loftárása
Posté le 19-05-2005 à 12:13:36  profilanswer
 

KrisCool a écrit :

Code :
  1. input.parentNode.replaceChild(input, new HTMLInputElement());



 :heink:  
 
document.createElement('INPUT'), mieux [:aloy]
parce que c'est une fonction du DOM, donc c'est fait pour ça
 
et le problème vient du fait que t'as inversé les nodes dans replaceChild :whistle:  

Citation :

x.replaceChild(y,z)
Replace node z, a child of node x, by node y.


source
 
Pour une vraie référence sur le DOM (cross browsers en plus, donc c'est utile en dehors des scripts GM), le meilleur site que je connaisse est clairement Quirksmode, ce site est LE truc indispensable, il y a tout sur tous les éléments du JS (ou presque) :o


Message édité par masklinn le 19-05-2005 à 12:17:58

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1088985
KrisCool
“Verbeux„
Posté le 19-05-2005 à 12:19:30  profilanswer
 

Merci Masklinn [:petrus75]


---------------
Loose Change Lies | Bars | Last.fm
n°1089159
cerel
Posté le 19-05-2005 à 14:26:04  profilanswer
 

Il me semble que le nom des balises doit etre en minuscules quand on utilise createElement, non ?

n°1089203
masklinn
í dag viðrar vel til loftárása
Posté le 19-05-2005 à 14:54:16  profilanswer
 

Cerel > il m'a toujours créé ce que je lui demandais pour le moment [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [DOM] Remplacement d'un input par un autre [Résolu]

 

Sujets relatifs
DOM et XSLT : problème harduProbleme avec le DOM
[css] blocs qui apparaissent sur clic [résolu][résolu] [javascript/css] placer une image après action
include dans un array [resolu][RESOLU] Upload d'une image miniature sans GD
[Résolu] formulaire asp et base de données access et iis[resolu] centrage verticale
Script appelant un autre... [RESOLU]Input de type file
Plus de sujets relatifs à : [DOM] Remplacement d'un input par un autre [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR