Buenas....tengo este formulario doble...hasta ahora va bien...
pero necesito que se pueda borrar los campo agregados, limitar el numero de agregados y colocar un text al fina donde me pueda sumar los precios..    
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
 
    <script src="jquery-1.4.1.min.js" type="text/javascript"></script>      jQuery.fn.generaMO = function(etiquetaMO, nombreCampoMO, indiceMO){
        $(this).each(function(){
            elem = $(this);
            elem.data("etiquetaMO",etiquetaMO);
            elem.data("nombreCampoMO",nombreCampoMO);
            elem.data("indiceMO",indiceMO);
            
            elem.click(function(MO){
                MO.preventDefault();
                elem = $(this);
                etiquetaMO = elem.data("etiquetaMO");
                nombreCampoMO = elem.data("nombreCampoMO");
                indiceMO = elem.data("indiceMO");
                //texto_insertarMO = + etiquetaMO + ' ' + indiceMO + ':
<input type="text" name="454554" /></p>';
                texto_insertarMO = '
<input type="text" name="manoObra" size="50" /><input type="text" name="precioMO" size="5" /><br />';
                indiceMO ++;
                elem.data("indiceMO",indiceMO);
                nuevo_campoMO = $(texto_insertarMO);
                elem.before(nuevo_campoMO);
            });
        });
        return this;
    }
    $(document).ready(function(){
        $("#masMO").generaMO("Compra", "compra", 2);
    });
    
    jQuery.fn.generaRE = function(etiquetaRE, nombreCampoRE, indiceRE){
        $(this).each(function(){
            elem = $(this);
            elem.data("etiquetaRE",etiquetaRE);
            elem.data("nombreCampoRE",nombreCampoRE);
            elem.data("indiceRE",indiceRE);
            
            elem.click(function(RE){
                RE.preventDefault();
                elem = $(this);
                etiquetaRE = elem.data("etiquetaRE");
                nombreCampoRE = elem.data("nombreCampoRE");
                indiceRE = elem.data("indiceRE");
                //texto_insertar = '
<p>' + etiqueta + ' ' + indice + ':
<br><input type="text" name="' + nombreCampo + indice + '" /></p>';
                texto_insertarRE = '
<input type="text" name="cant" size="2" /><input type="text" name="repuesto" size="50" /><input type="text" name="precioRE" size="5" /><br />';
                indiceRE ++;
                elem.data("indiceRE",indiceRE);
                nuevo_campoRE = $(texto_insertarRE);
                elem.before(nuevo_campoRE);
            });
        });
        return this;
    }
    $(document).ready(function(){
        $("#masRE").generaRE("Compra", "compra", 2);
    });
    
 
<table width="100%" border="0">     <td><!--<input type="Text" name="manoObra" size="50"><input type="text" name="precioMO" size="5" /><br>-->  
     <a href="#" id="masMO">Mano de Obra
</a></td>     <td><!---<input type="text" name="cant" size="2" /><input type="Text" name="repuesto" size="50"><input type="text" name="precioRE" size="5" /><br>-->  
     <a href="#" id="masRE">Repuesto
</a></td> <!--
<input type="Text" name="compra" size="50"><input type="text" name="precio" size="5" /><br /> 
<a href="#" id="mascampos">Más campos</a> -->
<p><input type=submit value="   Guardar   " /> </p>  <a href="add2.html">home
</a>  
  
tomado de 
http://www.desarrolloweb.com/articul...ormulario.html
tengo este otro....esto borra los campos agregados   
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> <!--
num=0;
function crear(obj) {
  num++;
  fi = document.getElementById('fiel'); // 1
  contenedor = document.createElement('div'); // 2
  contenedor.id = 'div'+num; // 3
  fi.appendChild(contenedor); // 4
 
  ele = document.createElement('input'); // 5
  ele.type = 'text'; // 6
  //ele.name = 'fil'+num; // 6
  ele.name = 'NombreRepuesto';
  ele.size = '60';
  contenedor.appendChild(ele); // 7
  
   ele = document.createElement('input'); // 5
  ele.type = 'checkbox'; // 6
  //ele.name = 'fil'+num; // 6
  ele.name = 'eliminar';
  ele.value = 'ON';
  contenedor.appendChild(ele); // 7
  
  ele = document.createElement('input'); // 5
  ele.type = 'button'; // 6
  ele.value = ' X '; // 8
  ele.name = 'div'+num; // 8
  ele.onclick = function () {borrar(this.name)} // 9
  contenedor.appendChild(ele); // 7
}
function borrar(obj) {
  fi = document.getElementById('fiel'); // 1 
  fi.removeChild(document.getElementById(obj)); // 10
}
--> 
<form method="get" action="algo.asp"> <input type="button" value="Crear" onclick="crear(this)" /> <input type=submit value=grabar>