Lo puedes hacer con javascript;
Ejemplo:
En el primer control de texto agregar en el metodo onBlur una funcion que te pinte otra caja de texto:
<input type="text" id="prod1" name="prod1" onBlur="agregar('dprod2')"/>
<div id="dprod2"></div>
En tu JavaSript iria:
function agregar(capa){
document.getElementById(capa).innerHTML="<input type="text" id="prod2" name="prod2" onBlur="agregar('dprod3')"/><div id="dprod3"></div>"
}
PD: Si gustas puedes validar que la caja te texto este llena para crear la siguiente caja de texto, esto lo harias con un if en la funcion agregar..
Suerte Espero te de una idea al menos