Hola Sebas, si entendí bien tu pregunta creo que puedes hacerlo muy facilmente con la librería JQuery, de hecho yo tuve la misma necesidad y con esta libreria pude hacerlo facilmente. Bueno te explico como es mi solución y tu ves si te sirve o no. Mi idea es mostrar al cargar la pagina por lo menos un input y un enlace con una imagen para agregar más inputs en caso de que el usuario los necesite, además del hecho que cuando creo un input dinamicamente a este le agrego un vinculo para poder eliminarlo tambíen.
Bueno te pongo algo de código:
Código HTML :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Cargar Película</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<script type="text/javascript" src="./includes/jquery-1.3.2.js"></script>
<script type="text/javascript">
<!--
var num_productoras = 1;
function init() {
//Esta es la funcion que te permitirá crear dinamicamente los inputs
function crearNodo() {
$("<div id=\"cont"+num_productoras+"\" style=\"float:left;\"><label for=\"producer"+num_productoras+"\">Productora "+num_productoras+":</label><input type=\"text\" name=\"productoras[]\" id=\"productora"+num_productoras+"\"/>").appendTo("#productoras");
$("<a href=\"#\"><img src=\"./images/delete.png\" style=\"border:none;\" alt=\"Eliminar\" title=\"Eliminar\"/></a>").css("float","left").appendTo("#cont"+num_productoras).click(function() {
//funcion que se encarga de eliminar el ultimo input + label creado
$("#productoras > div:last").remove();
num_productoras--;
});
//al cargar la pagina creo por lo menos un input
crearNodo();
$("#addProd").click(crearNodo);
}
$(document).ready(init);
-->
</script>
<body>
<!-- ESTE ES UN RESUMEN DE LA PARTE QUE IMPORTA DE MI FORMULARIO -->
<fieldset style="margin:0;" id="productoras">
<legend>
<a href="#" title="Agregar" id="addProd"><img src="./images/add.png" alt="Agregar" title="Agregar" style="border:none;margin-left: 4px;"></a>Productora(s):
</legend>
</fieldset>
</body>
</html>
Este código lo escribí hace poco, pero anda, aunque quiza pueda ser optimizado mas.
Espero te sirva o puedas adaptarlo a tu problema y me cuentas que tal te fue.
Saludos