Prova cosi:
codice:
function ApriDiv(element,testo){
var TopElemento = element.offsetTop;
var Div = document.getElementById('div1');
Div.innerHTML=testo;
Div.style.top = (TopElemento-Div.offsetHeight)+'px';
Div.style.visibility='visible';
}
<form name="mioform">
<input type="text" name="txt3" id="txt3" onfocus="ApriDiv(this,'voce 1')" />
<input type="text" name="txt2" id="txt2" onfocus="ApriDiv(this,'voce 2')" />
<input type="text" name="txt1" id="txt1" onfocus="ApriDiv(this,'voce 3')" />
</form>

<div style="position:absolute; left:300px; height:100px; top:50px; visibility: hidden;" id="div1" ></div>

P.S. La posizione del div e legata alla sua altezza, meglio impostare un altezza fissa con l'altezza variabile potresti avere problemi di posizionamento da veirficare con o senza