Como faço para que o item de formulário atualizado mais recentemente “grude” no Firefox quando copio seu contêiner?
-
09-06-2019 - |
Pergunta
Eu tenho um dl contendo algumas caixas de entrada que eu "clono" com um pouco 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);
No IE, o formulário em sourceBox é duplicado em newBox, completo com valores fornecidos pelo usuário.No Firefox, o último valor inserido no sourceBox original não está presente no newBox.Como faço para que esse "grude"?
Outras dicas
Você poderia tentar o cloneNode
método.Pode ser melhor copiar o conteúdo.Também deve ser mais rápido na maioria dos 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);
Obrigado pessoal.
Eu fiz as coisas funcionarem usando protótipo e mudando document.getElementById(oldkey)para $(chave antiga)
<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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow