Как мне заставить самый последний обновленный элемент формы “вставляться” в Firefox при копировании его контейнера?

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

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня есть dl, содержащий несколько полей ввода, которые я "клонирую" с помощью небольшого количества JavaScript, например:

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

В IE форма в sourceBox дублируется в newBox вместе с заданными пользователем значениями.В Firefox последнее значение, введенное в исходном поле sourceBox, отсутствует в newBox.Как мне сделать так, чтобы это "прилипло"?

Это было полезно?

Другие советы

Вы могли бы попробовать cloneNode способ.Это могло бы лучше справиться с копированием содержимого.В большинстве случаев это также должно быть быстрее

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

Спасибо, ребята.

Я заставляю вещи работать, используя прототип и меняется document.getElementById(старый ключ) Для $(старый ключ)

<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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top