Comment obtenir le dernier élément de formulaire mis à jour à «coller» dans Firefox lorsque je copie son conteneur?

StackOverflow https://stackoverflow.com/questions/69722

  •  09-06-2019
  •  | 
  •  

Question

J'ai un dl contenant des zones de saisie que je "clone" avec un peu de JavaScript comme:

var newBox = document.createElement('dl'); 
var sourceBox = document.getElementById(oldkey); 
newBox.innerHTML = sourceBox.innerHTML; 
newBox.id = newkey;          
document.getElementById('boxes').appendChild(columnBox);   

Dans IE, le formulaire dans sourceBox est dupliqué dans newBox, avec les valeurs fournies par l'utilisateur. Dans Firefox, la dernière valeur entrée dans le sourceBox d'origine n'est pas présente dans newBox. Comment puis-je rendre ce "stick"?

Était-ce utile?

Autres conseils

Vous pouvez essayer la méthode cloneNode . Cela pourrait faire un meilleur travail de copier le contenu. Il devrait également être plus rapide dans la plupart des cas

var newBox;
var sourceBox = document.getElementById(oldkey);
if (sourceBox.cloneNode) 
    newBox = sourceBox.cloneNode(true);
else {
    newBox = document.createElement(sourceBox.tagName); 
    newBox.innerHTML = sourceBox.innerHTML; 
}
newBox.id = newkey;              
document.getElementById('boxes').appendChild(newBox);

Merci les gens.

Les choses ont fonctionné en utilisant prototype et modification de document.getElementById (oldkey) vers $ (oldkey)

<script src="j/prototype.js" type="text/javascript"></script>  

var newBox;  
var sourceBox = $(oldkey);  
if (sourceBox.cloneNode)  
     newBox = sourceBox.cloneNode(true);  
else {  
    newBox = document.createElement(sourceBox.tagName);  
    newBox.innerHTML = sourceBox.innerHTML;  
}  
newBox.id = newkey;  
document.getElementById('boxes').appendChild(newBox);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top