¿Cómo consigo que el elemento del formulario actualizado más recientemente se "pegue" en Firefox cuando copio su contenedor?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo un dl que contiene algunos cuadros de entrada que "clono" con un poco de JavaScript como:

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

En IE, el formulario en sourceBox está duplicado en newBox, completo con los valores proporcionados por el usuario.En Firefox, el último valor ingresado en el sourceBox original no está presente en newBox.¿Cómo hago para que esto se "pegue"?

¿Fue útil?

Otros consejos

Podrías probar el cloneNode método.Podría hacer un mejor trabajo al copiar el contenido.También debería ser más rápido en la mayoría de los casos.

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);

Gracias amigos.

Conseguí que las cosas funcionaran usando prototipo y cambiando document.getElementById(clave antigua)a $(llave antigua)

<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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top