How does one create a copy of a form with all of its form elements so that the copy can be manipulated and the original is left unchanged?
Asked
Active
Viewed 2,573 times
2 Answers
7
Using plain javascript cloneNode
like this
var dupNode = node.cloneNode(deep);
Example
var p = document.getElementById("para1"), var p_prime = p.cloneNode(deep); //If "deep" is set to true it will clone all the child nodes too, //If set to false then only the node and not the children
Here is the documentation.
Hope that helps.

woofmeow
- 2,370
- 16
- 13
-
Is `deep` a valid argument? – reformed Aug 12 '13 at 21:02
-
@reformed Yes, `cloneNode` [accepts a parameter](https://developer.mozilla.org/en-US/docs/Web/API/Node.cloneNode). – oleq Aug 12 '13 at 21:04
-
@reformed i have added a link to the docs .. this is plain js just as you wanted. – woofmeow Aug 12 '13 at 21:06
-
Would be nice if you could accept the answer and upvote it .. but only do it if it helped you :) Cheers @reformed . – woofmeow Aug 12 '13 at 21:30
-
@woofmeow I appreciate your help but it would be nice if you'd let me take time away from the computer for other personal things and also to wait for other answers. I already upvoted it, I was planning on accepting your answer. Are you a rep chaser? – reformed Aug 13 '13 at 02:14
-
I am not a "rep chaser" for whatever that mean but sometimes I just like to see if my answer helped the person who asked the question or not. You can even downvote it if you'd like @reformed I wouldn't care. Its just good at times to see a prompt reply. Feel free to downvote too. No issues with me. Have a nice day. – woofmeow Aug 13 '13 at 09:43
-
Just remember that some people aren't always able to give a prompt reply, due to work or whatever else. Asking for votes can be kind of annoying. You might want to take up politics if that's your thing ;) – reformed Aug 13 '13 at 12:17
3
Use the jQuery clone object as such:
var cloned_object = $( ".hello" ).clone().
and to add it to the dom
cloned_object.appendTo( ".goodbye" );
Here is the reference:

Smurfette
- 1,935
- 2
- 14
- 15
-
1
-
1... http://stackoverflow.com/questions/122102/most-efficient-way-to-clone-an-object ... this has one – Smurfette Aug 12 '13 at 21:00
-
@Smurfette: No, that's about JavaScript objects in general, not DOM elements. Also from the `javascript` tag description: *"Unless a tag for a framework/library is also included, a pure JavaScript answer is expected."* Please keep that in mind. – Felix Kling Aug 12 '13 at 21:42