Se tutto si svolge lato client dovrebbe essere una cosa così
codice:
<HTML>
<HEAD>
<script language="javascript">
function Text(nome,valore){
this.nome=nome
this.valore=valore
}
var at = new Array()
function InitText(ff){
for(i=0;i<ff.elements.length;i++)
if(ff.elements[i].type=='text')
at[at.length]=new Text(ff.elements[i].name,'')
}
function CopiaText(ff){
for(i=0;i<at.length;i++)
at[i].valore = ff.elements[at[i].nome].value
}
function IncollaText(ff){
for(i=0;i<at.length;i++)
ff.elements[at[i].nome].value = at[i].valore
}
</script>
</HEAD>
<BODY onload="InitText(document.NomeForm)">
<form name="NomeForm">
nome<input type="text" name="nome">
cognome<input type="text" name="cognome">
e-mail<input type="text" name="email">
<input type="button" value="copia dati" onclick="CopiaText(this.form)">
<input type="reset" value="reset">
<input type="button" value="incolla dati" onclick="IncollaText(this.form)">
</form>
</BODY>
</HTML>
provalo... se hai bisogno di chiarimenti chiedi pure.
Se però di mezzo ci sono operazioni da eseguire lato server bisogna fare in modo da mantenere i dati...
famme sape'