Hola pabloccontreras, he visto el código que pusiste:
Cita: var posicionCampo=1;
/* Declaramos la función agregarUsuario( ) */
function agregarUsuario(){
nuevaFila = document.getElementById("tablaUsuarios").insertRow (-1);
nuevaFila.id=posicionCampo;
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<input type='text' class='idtaller' size='7′ name='h ["+posicionCampo+"]' >";
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<input type='text' class='insumo' size='30′ name=' p["+posicionCampo+"]' >";
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<input type='text' class='cantidad' size='3′ name='q ["+posicionCampo+"]' >";
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<input type='button' class='eliminar' value='Eliminar' onclick='eliminarUsuario(this)'>";
/* Incrementamos el valor de posicionCampo para que empiece a contar de la fila siguiente */
posicionCampo++;
}
function eliminarUsuario(obj){
var oTr = obj;
while(oTr.nodeName.toLowerCase()!='tr'){
oTr=oTr.parentNode;
}
var root = oTr.parentNode;
root.removeChild(oTr);
};
El problema radica en los espacios en blanco que has dejado al declarar los valores del atributo name de los campos de texto, recuerda que estos espacios tambien cuentan; corrigiendo esto el código PHP funciona correctamente.
Cita: nuevaCelda.innerHTML="<input type='text' class='idtaller' size='7′ name='h ["+posicionCampo+"]' >"
nuevaCelda.innerHTML="<input type='text' class='insumo' size='30′ name=' p["+posicionCampo+"]' >";
nuevaCelda.innerHTML="<input type='text' class='cantidad' size='3′ name='q ["+posicionCampo+"]' >";