Qualcosa non mi quadra... ti scrivo il mio codice perchè immaginavo fosse una cosa come quella che mi hai scritto, ma a me da un errore.
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<
head>
<
title>Untitled</title>
<
script language="JavaScript" type="text/javascript">
function 
cambia(div){ 
 var 
proprieta = new Array(); var valori = new Array();
 var 
i=0;
 var 
str="PROPRIETA' INIZIALI
"
;
 for (
prop in document.getElementById(div)) {
  
proprieta[i]=prop;
  
valori[i]=document.getElementById(div)[proprieta[i]];
  
str=str proprieta[i] + ": " valori[i] + "
"
;
  
i++;
 }
 
str=str "----------------------------------------------------------------------


"
;
 
str=str "PROPRIETA' NUOVO CAMPO
"
;
 var 
mydiv=document.getElementById(div).parentNode;
 
str2="<select name='" div "' id='" div "'><option value='prova'>prova</option></select>";
 
mydiv.innerHTML=str2;
 
i=0;
 
 for(
i=0;i<proprieta.length;i++){
  if(
document.getElementById(div)[proprieta[i]]){
   
document.getElementById(div)[proprieta[i]]=valori[i];
  }
  
str=str+proprieta[i]+": "+valori[i]+"
"
;
 }
 
document.getElementById("debug").innerHTML=str
}


function 
start(){
 
a=document.getElementById("dati_0");
 
a["onfocus"]=prova;
}
function 
prova(){
 
alert("cliccato");
}
window.onload=start;
</script>
</head>

<body>
<form name="mod">
 <div id="prova">
  <input type="Text" name="dati_0" id="dati_0" />

  <button onclick="cambia('dati_0')" id="bott">clicca</button>
 </div>
</form>
<div id="debug"></div>
</body>
</html> 
Mi da l'errore alla riga 25
codice:
document.getElementById(div)[proprieta[i]]=valori[i];
Eppure l'if sopra dovrebbe dire di entrare solo se la proprietà esiste no?