Как я могу получить самый последний обновленный элемент формы, чтобы «прилипать» в Firefox, когда я копирую его контейнер? - PullRequest
0 голосов
/ 16 сентября 2008

У меня есть 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. Как мне сделать эту «палку»?

Ответы [ 3 ]

1 голос
/ 17 сентября 2008

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

Я получил работу, используя прототип и изменив document.getElementById (oldkey) до $ (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);
1 голос
/ 16 сентября 2008

Вы можете попробовать метод 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);
0 голосов
/ 16 сентября 2008
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...